+
Skip to content

mitre/magma

Repository files navigation

MITRE Caldera Plugin: Magma

The UI/UX Vue.js framework of Caldera v5.

Dependencies

  • NodeJS (v20.19+ recommended)
  • Caldera (v5.0.0+)

Installation

If you are going to run Magma without developing on it, all you have to do is run Caldera with an extra flag once. To do so:

In the Caldera directory:

  1. Run python3 server.py --build.

The --build flag automatically installs any dependencies, bundles the Vue frontend into a dist directory, and is served by the Caldera server. You will only have to use the --build flag again if you add any plugins.

Development

To serve up the UI in a development environment (with hot-reloading, etc.), do

In the magma directory:

  1. Run npm install.
  2. Run npm run build

In the Caldera directory:

  1. Run python3 server.py --uidev localhost.

You can reach the UI in your browser at http://localhost:3000

Code Quality

Currently Linting is done manually by the developer. To do so:

  1. Run npm run lint.

In order to run linting with it automatically formatting issues:

  1. Run npm run lintfix.

Testing

Magma uses Jest as its frontend testing framework. All tests are located at the src/tests directory.

  1. Run npm run test-all to run all tests.

Each vue component is tested for accessibility in their respected file. This is done using a custom Jest matcher, jest-axe. Jest-axe adheres to axe-core rules. Each one of these rules can be modified or disabled when calling the axe function.

  1. Run npm run test-accessibility to run only accessibility tests.

About

MITRE Caldera's user interface plugin powered by VueJS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 17

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载