Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Versions structure in config.json is too picky about version names #370

Closed
isaisabel opened this issue Oct 22, 2021 · 0 comments
Closed
Assignees
Labels
bug Something isn't working Points: 3 3 agile story points timescale/imminent Ready to be assigned to developers
Milestone

Comments

@isaisabel
Copy link
Contributor

isaisabel commented Oct 22, 2021

As a user of ATT&CK Workbench, I want to be able to load custom data to my Navigator, and I want to be able to name this data with descriptive names. For example, I want to be able to connect ATT&CK Navigator to ATT&CK Workbench under the verison name "Custom ATT&CK Workbench Data".


The current implementation of ATT&CK Navigator is extremely picky about version and domain names, making it difficult to configure with custom data. Because of how objects are filtered by domain, the version name and domain name must match a very specific pattern:

  • The version name must not be more than two words (separated by a single space)
  • The version name must start with "ATT&CK".
  • The domain name must exactly match the domain of the data, e.g "Enterprise", "Mobile" or "ICS"

For example, if the following version is used:

       {
            "name": "example name", 
            "domains": [
                {   
                    "name": "example domain", 
                    "data": ["assets/enterprise-attack.json"]
                }
            ]
        },

The Navigator will construct the domain identifier as "example-domain-example" (roughly transformed from [domain name] + [version name's first word]). This won't match the x_mitre_domains field of any of the input objects, and the Navigator will filter them all out, leaving the user with a blank screen.


The solution should likely be a revision to the format of the config file:

  • the name field of the version and domain are no longer used to construct the domain identifier, and can be any string the user desires. Those fields are only used in the UI and not affect data loading in any way.

  • The following additional fields should be added:

    • version.version: the version number of the given domain, e.g "10".
    • version.domain.identifier: the domain identifier for the domain, e.g "enterprise-attack".

    Together these fields should be able to replicate the domain-version identifier used internally in the application.

@isaisabel isaisabel added bug Something isn't working timescale/imminent Ready to be assigned to developers Points: 3 3 agile story points labels Oct 22, 2021
@isaisabel isaisabel added this to the Version 4.5.2 milestone Oct 22, 2021
@isaisabel isaisabel modified the milestones: Version 4.5.3, Version 4.6.0 Nov 2, 2021
@clemiller clemiller modified the milestones: Version 4.6.0, Version 4.5.6 Feb 7, 2022
@clemiller clemiller self-assigned this Mar 2, 2022
clemiller added a commit that referenced this issue Apr 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Points: 3 3 agile story points timescale/imminent Ready to be assigned to developers
Projects
None yet
Development

No branches or pull requests

2 participants