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

initial release of Capa Explorer Web #2224

Merged
merged 79 commits into from
Aug 9, 2024
Merged

initial release of Capa Explorer Web #2224

merged 79 commits into from
Aug 9, 2024

Conversation

s-ff
Copy link
Collaborator

@s-ff s-ff commented Jul 22, 2024

Checklist

  • CHANGELOG updated
  • tests added
  • documentation updated
  • @williballenthin update GH Pages settings to point to deployed resources

This PR introduces web-based viewer for capa analysis results.

1. Deployment:
The application is designed to be deployed as a static site using the deploy-webui.yml workflow.

2. Technical Details
Framework: Vue.js 3 with Composition API
UI Components: PrimeVue v4.0.0

3. Key Components

  • ImportView.vue: Main view for importing and displaying CAPA results.
  • UploadOptions.vue: responsible for handling the different upload options
  • RuleMatchesTable.vue: Core component for displaying rules matches (both static and dynamic)
  • FunctionCapabilities.vue & ProcessCapabilities.vue: Alternative views for grouping capabilities by process/function.
  • MetadataPanel.vue: Displays summary information about the analysis and sample.
  • SettingsPanel.vue: Allows users to select a different view mode and toggeling on/off library matches.
  • DescriptionPanel.vue: Displays an introductory description about the tool, with help & changelog menus.
  • NavBar.vue: Displays a toolbar with "Import Analysis"

4. Scripts

  • utils/rdocParser.js: exports 3 parsing function used for the 3 different views, and includes helper functions.
  • composoables/useRdocLoader.js: responsible for handling the differnt upload options, and rdoc version checking.

5. Future work

Note: create-webui-release.yml is not included in this PR at this stage.

Copy link

google-cla bot commented Jul 22, 2024

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add bug fixes, new features, breaking changes and anything else you think is worthwhile mentioning to the master (unreleased) section of CHANGELOG.md. If no CHANGELOG update is needed add the following to the PR description: [x] No CHANGELOG update needed

@williballenthin

This comment was marked as resolved.

s-ff added 7 commits July 23, 2024 22:57
Instead of duplicating JSON files used for preview by including
them in src/assets/<rdoc>.json, let's re-use the existing
tests/data/rd from submodule capa-testfiles.
Create href for both MBC and ATT&CK using helper functions
`createMBCHref` and `createATTACKHref`
@github-actions github-actions bot dismissed their stale review July 24, 2024 10:50

CHANGELOG updated or no update needed, thanks! 😄

Copy link
Collaborator

@mr-tz mr-tz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice work, I've skipped detailed reviews of most of the vue/js files for this review though

.github/workflows/deploy-webui.yml Outdated Show resolved Hide resolved
webui/.gitignore Outdated Show resolved Hide resolved
webui/.prettierrc.json Outdated Show resolved Hide resolved
webui/README.md Outdated Show resolved Hide resolved
webui/index.html Outdated Show resolved Hide resolved
webui/src/assets/main.css Outdated Show resolved Hide resolved
webui/src/components/NavBar.vue Outdated Show resolved Hide resolved
webui/src/components/columns/RuleColumn.vue Outdated Show resolved Hide resolved
webui/src/components/misc/LibraryTag.vue Outdated Show resolved Hide resolved
webui/src/views/ImportView.vue Outdated Show resolved Hide resolved
web/explorer/README.md Outdated Show resolved Hide resolved
.github/workflows/deploy-webui.yml Show resolved Hide resolved
Comment on lines +6 to +7
paths:
- 'web/explorer/**'
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

web/explorer/src/assets/main.css Show resolved Hide resolved
web/explorer/src/composables/useRdocLoader.js Show resolved Hide resolved
@s-ff s-ff changed the title GSoC: initial draft release of Capa-WebUI initial release of Capa Explorer Web Aug 8, 2024
@williballenthin

This comment was marked as outdated.

@williballenthin

This comment was marked as outdated.

Copy link
Collaborator

@mr-tz mr-tz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really amazing work here, @s-ff! Thank you!

@mr-tz mr-tz merged commit ea9853e into mandiant:master Aug 9, 2024
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants