-
Notifications
You must be signed in to change notification settings - Fork 601
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
Removes pre-ATT&CK domain #218
Conversation
…ptions in context menu
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is pretty good.
PRE-ATT&CK removal comments
- See below about layer upgrade script
- Help page links to v3 of the layer file despite your adding the v4 pdf. Hyperlink just needs to be updated to point to the new file. The link is at the end of the 4th paragraph of the layers section.
Tactic selection comments
There's a bit of leftover logic from the old tactic highlighting UX which produces odd behavior. The old UX had a "toggle" behavior when the tactic header was clicked on. Because the new behavior involves techniques selections, the toggle doesn't really work anymore and produces unintuitive behavior.
In a viewModel, the selectedTactic
field keeps track of the "tactic selection" even if the user deselects the techniques manually. For instance:
- click "initial access" header to select techniques in that tactic.
- click "native API" in execution, or really any technique not in initial access. Initial access techniques are now deselected.
- Click the "initial access" header again. The App now is trying to deselect techniques in that tactic because it thinks that tactic is selected, but it is not selected according to the UI. So it looks like nothing happens (though internally
selectedTactic
is being reset and techniques in that tactic deselected, though none were selected in the first place).
There are two possible ways to fix this.
- Remove the "toggle selection" feature altogether; remove the ability to deselect tactics via clicking on the tactic header. Clicking the tactic header will always apply the selection to the techniques in the tactic.
- Modify
isTacticSelected
to check if all the techniques in the tactic are selected. This should allow the old toggle "click the header again to deselect" UX to work provided all the techniques in the tactic are selected when it's clicked. Essentially this will mean the "selection status" of the tactic is determined dynamically, and not from the value of a single boolean.
Either way, the selectedTactic
property should be removed.
Hey Isabel, thank you for the suggestions for the tactic selection behavior issue! I've opted for solution 2: dynamically determining if all techniques in a tactic are selected or not, and cleaned up some of that code in the process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolves all the previously identified issues.
One possible improvement that I could go either way on:
Selecting a tactic doesn't select sub-techniques within the tactic unless "select sub-techniques with parent" is enabled. This can be unintuitive since the sub-techniques are under the tactic regardless of whether that control is active. We might want to consider always selecting sub-techniques when selecting a tactic for more logically consistent behavior ("everything in that column, technique or subtechnique, gets selected").
Would there be a use case for not selecting the sub-techniques under the tactic? Changing the current logic would remove users' ability to choose the "sub-technique selection" behavior when selecting a tactic, since it would always select the sub-techniques under the tactic whether the control has been selected or not. If that's not a concern, I can definitely make that logic change if it's more intuitive that way. |
Yeah that's why I said "I could go either way on [it]" -- I haven't thought of a use case where a user would want to select techniques in a tactic but not sub-techniques, but there could be one? There's certainly more user control over the behavior if we honor the "select sub-techniques with parent" control. One more argument in favor of keeping it the way it is (and not forcing sub-technique selection) is that the context menu prompt says "techniques" and not "techniques and sub-techniques." I guess my recommendation is that we can keep it the way it is, but make it clear in the documentation for the tactic selection behavior that it only selects sub-techniques if "select with parents" is enabled. |
The help page already says:
I think this needs to be more explicit about what "follows" means with respect to cross-tactic techniques and techniques with sub-techniques. |
…tactic with regards to cross-tactic techniques and sub-techniques
Removes the pre-ATT&CK domain from the application, including:
Resolves Issue #207