CWE

Common Weakness Enumeration

A community-developed list of SW & HW weaknesses that can become vulnerabilities

New to CWE? click here!
CWE Most Important Hardware Weaknesses
CWE Top 25 Most Dangerous Weaknesses
Home > Compatibility > CWE-Compatible Products and Services  
ID

Name of Your Organization:

SonarSource SA

Web Site:

http://sonarsource.com

Adopting Capability:

SonarQube with C/C++ plugin

Capability home page:

http://sonarqube.org

General Capability Questions

Product Accessibility <CR_2.4>

Provide a short description of how and where your capability is made available to your customers and the public (required):

The SonarQube platform is a free and open source code quality platform available for download from http://www.sonarqube.org/downloads/.

The C/C++ plugin is a commercial product, and may be downloaded from within the SonarQube platform or from http://www.sonarsource.com/products/plugins/languages/c-cpp-objectivec/downloads/.

A trial license can be obtained by emailing contact@sonarsource.com. The SonarQube platform is web-based, and should be hosted by the user and accessed via a browser at http://[user's SonarQube domain]:9000

A demonstration instance can be found at http://nemo.sonarqube.org/.

 

Mapping Questions

Map Currency Indication <CR_6.1>

Describe how and where your capability indicates the most recent CWE content used to create or update its mappings (required):

The SonarQube documentation wiki indicates the version of CWE used: http://docs.sonarqube.org/display/SONAR/Security-related+rules 

Map Currency Update Approach <CR_6.2>

Indicate how often you plan on updating the mappings to reflect the current CWE content and describe your approach to keeping reasonably current with the CWE content when mapping them to your repository (recommended):

As each new version of the CWE is released, SonarSource will review the changes to individual CWE items and update related rules as needed.

MAP CURRENCY UPDATE TIME <CR_6.3>

Describe how and where you explain to your customers the timeframe they should expect an update of your capability’s mappings to reflect newly available CWE content (required):

The C/C++ plugin is released approximately monthly, and the C/C++ plugin release following a CWE release should contain all necessary updates.

Documentation Questions

CWE AND COMPATIBILITY DOCUMENTATION <CR_5.1>

Provide a copy, or directions to its location, of where your documentation describes CWE and CWE compatibility for your customers (required):

CWE and CWE Compatibility information, as well as information about finding CWE­related rules and IDs, can be found in the SonarQube wiki: http://docs.sonarqube.org/display/SONAR/Security-related+rules#Security-relatedrules-CWE.

DOCUMENTATION OF FINDING ELEMENTS USING CWE IDENTIFIERS <CR_5.2>

Provide a copy, or directions to its location, of where your documentation describes the specific details of how your customers can use CWE identifiers to find the individual security elements within your capability’s repository (required):

See the answer <CR_5.1>.

DOCUMENTATION OF FINDING CWE IDENTIFIERS USING ELEMENTS <CR_5.3>

Provide a copy, or directions to its location, of where your documentation describes the process a user would follow to find the CWE identifiers associated with individual security elements within your capability’s repository (required):

See the answer <CR_5.1>.

DOCUMENTATION INDEXING OF CWE-RELATED MATERIAL <CR_5.4>

If your documentation includes an index, provide a copy of the items and resources that you have listed under "CWE" in your index. Alternately, provide directions to where these "CWE" items are posted on your web site (recommended):

The SonarQube wiki does not provide an index.

Type-Specific Capability Questions

Tool Questions

FINDING TASKS USING CWE IDENTIFIERS <CR_A.2.1>

Give detailed examples and explanations of how a user can locate tasks in the tool by looking for their associated CWE identifier (required):

What's known as a "task" in CWE parlance is called a "rule" in the SonarQube platform. To find rules for a specific CWE identifier, navigate to the SonarQube Rules page (e.g., http://[user's SonarQube domain):9000/codingrules), enter the desired CWE ID in the search text input, and press Enter.

An example of this can be seen on the SonarQube demonstration instance: http://nemo.sonarqube.org/codingrules#q=CWE-628 

FINDING CWE IDENTIFIERS USING ELEMENTS IN REPORTS <CR_A.2.2>

Give detailed examples and explanations of how, for reports that identify individual security elements, the tool allows the user to determine the associated CWE identifier for the individual security elements in the report (required):

What's known as a Security Element in CWE parlance is called an "issue" in the SonarQube platform. Each issue is tied to the rule that detected it, and each issue is presented with a link to its rule. Any relevant CWE item(s) will be listed at the bottom of the rule description. In version 5.0 of the SonarQube platform one can reach the related rule by clicking on the "Rule" link. In later versions it appears as a linked ellipsis ("…").

GETTING A LIST OF CLAIMED CWE IDENTIFIER COVERAGE <CR_A.2.3>

Give detailed examples and explanations of how a user can obtain a listing of all of the CWE identifiers that the owner claims the tool is effective at locating in software (required):

The list of covered CWE items is linked from the SonarQube documentation: http://docs.sonarqube.org/display/SONAR/Security-related+rules#Security-relatedrules­CWE.

USING CCR TO PROVIDE CLAIMED CWE IDENTIFIER COVERAGE <CR_A.2.4>

Give a detailed explanation of how a user can find the Coverage Claim Representation (CCR) XML document with all of the CWE Identifiers that the owner claims the tool is effective at locating in software (recommended):

A Coverage Claim Representation XML document is not provided.

GETTING A LIST OF CWE IDENTIFIERS ASSOCIATED WITH TASKS <CR_A.2.6>

Give detailed examples and explanations of how a user can obtain a listing of all of the CWE identifiers that are associated with the tool’s tasks (recommended):

The CWE IDs associated with a Rule are listed at the bottom of the rule description in the See section. An example can be seen at the SonarQube demonstration instance: http://nemo.sonargube.org/coding rules#rule key=objc%3AS930

SELECTING TASKS WITH A LIST OF CWE IDENTIFIERS <CR_A.2.7>

Describe the steps and format that a user would use to select a set of tasks by providing a file with a list of CWE identifiers (recommended):

It is not yet possible to search for multiple CWE IDs at once.

SELECTING TASKS USING INDIVIDUAL CWE IDENTIFIERS <CR_A.2.8>

Describe the steps that a user would follow to browse, select, and deselect a set of tasks for the tool by using individual CWE identifiers (recommended):

In the language of SonarQube, rules (tasks) are "selected" when they're added to or activated in a rule profile, and "deselected" when they're removed from that profile.

To find and then activate CWE-related rules, a logged-in user with the proper permissions (http://docs.sonarqube.org/display/SONAR/Authorization) would perform a rule search as described in the answer to <CR_A.2.1>. Search results are presented in a list-and­ detail format. Rule details are shown when an item in the list of results is clicked. At the bottom of each rule detail is an "Activate" button for adding the rule to a profile, along with the list of profiles in which the rule is currently active. To the right of each profile in this list is a "Deactivate" button, which would be used to remove a rule from a profile.

NON-SUPPORT NOTIFICATION FOR A REQUESTED CWE IDENTIFIER <CR_A.2.9>

Provide a description of how the tool notifies the user that a task associated with a selected CWE Identifier cannot be performed (recommended):

When no rules are found to match a rule search, the text "No Coding Rules" is displayed.

Media Questions

ELECTRONIC DOCUMENT FORMAT INFO <B.3.1>

Provide details about the different electronic document formats that you provide and describe how they can be searched for specific CWE-related text (required):

SonarQube C/C++ analysis results are provided in a web-based GUI, so browser search capability can be used on any page. In addition, Issues can be searched by rule in the Issues interface. Rules can be searched by CWE ID, and future versions of the SonarQube platform will provide a link from a rule to its related issues.

ELECTRONIC DOCUMENT LISTING OF CWE IDENTIFIERS <CR_B.3.2>

If one of the capability’s standard electronic documents only lists security elements by their short names or titles provide example documents that demonstrate how the associated CWE identifiers are listed for each individual security element (required):

Full names and titles are provided for all CWE identifiers.

ELECTRONIC DOCUMENT ELEMENT TO CWE IDENTIFIER <CR_B.3.3>

Provide example documents that demonstrate the mapping from the capability’s individual elements to the respective CWE identifier(s) (recommended):

Each CWE identifier is linked back to the relevant CWE identifier page. This can be seen at the bottom of the description for this rule in the SonarQube demonstration instance: http://nemo.sonarqube.org/coding_rules#rule_key=objc%3AS930.

Graphical User Interface (GUI) Questions

FINDING ELEMENTS USING CWE IDENTIFIERS THROUGH THE GUI <CR_B.4.1>

Give detailed examples and explanations of how the GUI provides a "find" or "search" function for the user to identify your capability’s elements by looking for their associated CWE identifier(s) (required):

Please see the answers to <CR A.2.1> and <CR A.2.2>

GUI ELEMENT TO CWE IDENTIFIER MAPPING <CR_B.4.2>

Briefly describe how the associated CWE identifiers are listed for the individual security elements or discuss how the user can use the mapping between CWE identifiers and the capability’s elements, also describe the format of the mapping (required):

At the bottom of each rule (element) detail page is a See section listing relevant references for the rule. CWE identifiers would be listed here.

GUI EXPORT ELECTRONIC DOCUMENT FORMAT INFO <CR_B.4.3>

Provide details about the different electronic document formats that you provide for exporting or accessing CWE-related data and describe how they can be searched for specific CWE-related text (recommended):

SonarQube C/C++ analysis results are presented only in GUI format.

Questions for Signature

STATEMENT OF COMPATIBILITY <CR_2.11>

Have an authorized individual sign and date the following Compatibility Statement (required):

"As an authorized representative of my organization I agree that we will abide by all of the mandatory CWE Compatibility Requirements as well as all of the additional mandatory CWE Compatibility Requirements that are appropriate for our specific type of capability."

Name: Olivier Gaudin

Title: CEO

STATEMENT OF ACCURACY <CR_3.4>

Have an authorized individual sign and date the following accuracy Statement (recommended):

"As an authorized representative of my organization I agree that we will abide by all of the mandatory CWE Compatibility Requirements as well as all of the additional mandatory CWE Compatibility Requirements that are appropriate for our specific type of capability."

Name: Olivier Gaudin

Title: CEO

STATEMENT ON FALSE-POSITIVES AND FALSE-NEGATIVES <CR_B.2.10> and/or <CR_B.3.7>

FOR TOOLS AND SERVICES ONLY — Have an authorized individual sign and date the following statement about your tools efficiency in identification of security elements (required):

"As an authorized representative of my organization I agree that we will abide by all of the mandatory CWE Compatibility Requirements as well as all of the additional mandatory CWE Compatibility Requirements that are appropriate for our specific type of capability."

Name: Olivier Gaudin

Title: CEO

Page Last Updated: April 02, 2018