appscan-rules.schema.json

Specify custom rules according to the following guidelines.

{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://cloud.appscan.com/appscan.rules.schema.json",
    "title": "AppScan Custom Rules",
    "description": "Custom rules to be applied to a scan.",
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "rules": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "description": {
                        "description": "The human readable description of the vulnerability",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 60
                    },
                    "vulnerability": {
                        "description": "The vulnerability type.",
                        "type": "string",
                        "enum": [
                            "AccessControl_InsecureFilePermissions",
                            "Authentication_Credentials_Cookies",
                            "Authentication_Credentials_Unprotected_Transport",
                            "Authentication_Credentials_Unprotected",
                            "Authentication_Credentials_Weak",
                            "Authentication_Entity",
                            "BufferOverflow_ArrayIndexOutOfBounds",
                            "BufferOverflow_BufferSizeOutOfBounds",
                            "BufferOverflow_FormatString",
                            "BufferOverflow_IntegerOverflow",
                            "BufferOverflow_Internal",
                            "BufferOverflow",
                            "Communications_InsecureIntent",
                            "Communications_SSL",
                            "Communications_Unencrypted",
                            "Concurrency_Singleton",
                            "Configuration",
                            "ContentSpoofing",
                            "CrossApplicationScripting",
                            "CrossSiteRequestForgery",
                            "CrossSiteScripting_Reflected",
                            "CrossSiteScripting_Stored",
                            "CrossSiteScripting",
                            "Cryptography_InsecureAlgorithm",
                            "Cryptography_NonStandard",
                            "Cryptography_PoorEntropy",
                            "Cryptography",
                            "ErrorHandling_RevealDetails_Message",
                            "ErrorHandling_RevealDetails_StackTrace",
                            "FileUpload",
                            "Format_String_Attacks",
                            "Injection_AndroidFragment",
                            "Injection_Aspect",
                            "Injection_DBConnectionString",
                            "Injection_File",
                            "Injection_HttpRequestSplitting",
                            "Injection_HttpResponseSplitting",
                            "Injection_LDAP",
                            "Injection_Mail",
                            "Injection_NoSQL",
                            "Injection_OS",
                            "Injection_PDFForm",
                            "Injection_Predicate",
                            "Injection_RegEx",
                            "Injection_SecondOrder",
                            "Injection_SQL",
                            "Injection_XML",
                            "Injection_XPath",
                            "Injection_XSLT",
                            "Injection_XXE",
                            "Injection",
                            "InputValidation_UnlimitedSize",
                            "Integrity",
                            "JSON_Hijacking",
                            "Malicious_DynamicCode_Construction",
                            "Native_Unsafe",
                            "PathTraversal",
                            "Phishing_Email",
                            "Privacy_DataLeakage",
                            "Privacy",
                            "PrivilegeEscalation",
                            "PrototypePollution",
                            "SessionManagement_Cookies",
                            "SessionManagement_Timeout_Absolute",
                            "SSRF",
                            "Validation_ClientOnly",
                            "Validation_EncodingRequired_Struts",
                            "Validation_EncodingRequired",
                            "Validation_Required_BusinessLogic",
                            "Validation_Required_DBConnectionStringManipulation",
                            "Validation_Required_HiddenFields",
                            "Validation_Required_URL_Domain",
                            "Validation_Required_URL_Port",
                            "Validation_Required_URL_Redirect",
                            "Validation_Required_URL",
                            "Validation_Required_WriteToSocket",
                            "Validation_Required_WriteToStream",
                            "Validation_Required"
                        ]
                    },
                    "severity": {
                        "description": "The severity of the issue(s) found by this rule.",
                        "type": "string",
                        "enum": [
                            "Critical",
                            "High",
                            "Medium",
                            "Low",
                            "Info"
                        ]
                    },
                    "pattern": {
                        "description": "The regular expression to match against.",
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 60
                    },
                    "languages": {
                        "description": "The programming language(s) this rule applies to. Use 'All' to indicate all languages.",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "All",
                                "ABAP",
                                "Apex",
                                "Asp",
                                "ASP.NET",
                                "C",
                                "Cobol",
                                "ColdFusion",
                                "C#",
                                "CSS",
                                "Dart",
                                "ESQL",
                                "Golang",
                                "Groovy",
                                "Html",
                                "IaC",
                                "Java",
                                "JavaScript",
                                "Kotlin",
                                "Objective-C",
                                "Perl",
                                "PHP",
                                "PLSQL",
                                "Python",
                                "Rpg",
                                "Ruby",
                                "Rust",
                                "Scala",
                                "Secrets",
                                "Swift",
                                "TSQL",
                                "TypeScript",
                                "VB.NET",
                                "Xamarin"
                            ]
                        },
                        "uniqueItems": true,
                        "minItems": 1
                    }
                },
                "required": [
                    "description",
                    "vulnerability",
                    "severity",
                    "pattern",
                    "languages"
                ],
                "additionalProperties": false
            },
            "uniqueItems": true,
            "minItems": 1
        }
    }
}