SonarSource Rules
  • Products

    In-IDE

    Code Quality and Security in your IDE with SonarQube Ide

    IDE extension that lets you fix coding issues before they exist!

    Discover SonarQube for IDE

    SaaS

    Code Quality and Security in the cloud with SonarQube Cloud

    Setup is effortless and analysis is automatic for most languages

    Discover SonarQube Cloud

    Self-Hosted

    Code Quality and Security Self-Hosted with SonarQube Server

    Fast, accurate analysis; enterprise scalability

    Discover SonarQube Server
  • SecretsSecrets
  • ABAPABAP
  • AnsibleAnsible
  • ApexApex
  • AzureResourceManagerAzureResourceManager
  • CC
  • C#C#
  • C++C++
  • CloudFormationCloudFormation
  • COBOLCOBOL
  • CSSCSS
  • DartDart
  • DockerDocker
  • FlexFlex
  • GitHub ActionsGitHub Actions
  • GoGo
  • HTMLHTML
  • JavaJava
  • JavaScriptJavaScript
  • JSONJSON
  • JCLJCL
  • KotlinKotlin
  • KubernetesKubernetes
  • Objective CObjective C
  • PHPPHP
  • PL/IPL/I
  • PL/SQLPL/SQL
  • PythonPython
  • RPGRPG
  • RubyRuby
  • RustRust
  • ScalaScala
  • ShellShell
  • SwiftSwift
  • TerraformTerraform
  • TextText
  • TypeScriptTypeScript
  • T-SQLT-SQL
  • VB.NETVB.NET
  • VB6VB6
  • XMLXML
  • YAMLYAML
XML

XML static code analysis

Unique rules to find Bugs and Code Smells in your XML code

  • All rules 37
  • Vulnerability7
  • Bug5
  • Security Hotspot9
  • Code Smell16
 
Tags
    Impact
      Clean code attribute
        1. Components should be explicitly exported

           Vulnerability
        2. Defining a single permission for read and write access of content providers is security-sensitive

           Security Hotspot
        3. Custom permissions should not be defined in the "android.permission" namespace

           Vulnerability
        4. Allowing application backups is security-sensitive

           Security Hotspot
        5. Requesting dangerous Android permissions is security-sensitive

           Security Hotspot
        6. Exported component access should be restricted with appropriate permissions

           Vulnerability
        7. Using clear-text protocols is security-sensitive

           Security Hotspot
        8. Receiving intents is security-sensitive

           Security Hotspot
        9. Having a permissive Cross-Origin Resource Sharing policy is security-sensitive

           Security Hotspot
        10. Delivering code in production with debug features activated is security-sensitive

           Security Hotspot
        11. Hibernate should not update database schemas

           Bug
        12. "DefaultMessageListenerContainer" instances should not drop messages during restarts

           Bug
        13. "SingleConnectionFactory" instances should be set to "reconnectOnException"

           Bug
        14. pom elements should be in the recommended order

           Code Smell
        15. Dependencies should not have "system" scope

           Bug
        16. Deprecated "${pom}" properties should not be used

           Code Smell
        17. Artifact ids should follow a naming convention

           Code Smell
        18. Group ids should follow a naming convention

           Code Smell
        19. Track uses of disallowed dependencies

           Code Smell
        20. Struts validation forms should have unique names

           Vulnerability
        21. "action" mappings should not have too many "forward" entries

           Code Smell
        22. Struts filters should not miss their corresponding filter-map

           Vulnerability
        23. Creating cookies without the "HttpOnly" flag is security-sensitive

           Security Hotspot
        24. EJB interceptor exclusions should be declared as annotations

           Code Smell
        25. Default EJB interceptors should be declared in "ejb-jar.xml"

           Vulnerability
        26. Basic authentication should not be used

           Vulnerability
        27. Newlines should follow each element

           Code Smell
        28. XML parser failure

           Code Smell
        29. Hard-coded credentials are security-sensitive

           Security Hotspot
        30. XML files containing a prolog header should start with "<?xml" characters

           Bug
        31. Track breaches of an XPath rule

           Code Smell
        32. Sections of code should not be commented out

           Code Smell
        33. Track uses of "TODO" tags

           Code Smell
        34. Track uses of "FIXME" tags

           Code Smell
        35. Source code should be indented consistently

           Code Smell
        36. Tabulation characters should not be used

           Code Smell
        37. Lines should not be too long

           Code Smell

        Exported component access should be restricted with appropriate permissions

        intentionality - complete
        security
        Vulnerability
        • cwe
        • android

        This rule is deprecated, and will eventually be removed.

        Android components that are exported can be used by other applications. This may give access to functionalities that should remain private.

        Why is this an issue?

        How can I fix it?

        More Info

        Once an Android component has been exported, it can be used by attackers to launch malicious actions and might also give access to other components that are not exported. For this reason, the following components should be protected:

        • Providers
        • Activities
        • Activity-aliases
        • Services

        What is the potential impact?

        When components are exported unintentionally, they can be accessed and manipulated by other applications, potentially leading to unauthorized data access, data corruption, or even control over certain functionalities of the application.

        Below are some real-world scenarios that illustrate some impacts of an attacker exploiting the vulnerability:

        Unauthorized Data Access

        If a component that handles sensitive data is exported, other applications can potentially access this data. For instance, if an activity that displays private messages is exported, a malicious application could send an intent to this activity and read the user’s private messages.

        Unwanted Control Over Application Functionality

        If a broadcast receiver is exported, other applications can send intents to it, triggering it to perform actions. This could lead to unwanted behaviors. For instance, a malicious application could trigger a receiver that starts a certain activity, causing the user’s device to open unwanted screens, consume unnecessary resources, or even perform harmful actions.

          Available In:
        • SonarQube IdeCatch issues on the fly,
          in your IDE
        • SonarQube CloudDetect issues in your GitHub, Azure DevOps Services, Bitbucket Cloud, GitLab repositories
        • SonarQube Community BuildAnalyze code in your
          on-premise CI
          Available Since
          9.1
        • SonarQube ServerAnalyze code in your
          on-premise CI
          Developer Edition
          Available Since
          9.1

        © 2008-2025 SonarSource SA. All rights reserved.

        Privacy Policy | Cookie Policy | Terms of Use