mitre / caldera

Automated Adversary Emulation Platform
https://caldera.mitre.org
Apache License 2.0
5.54k stars 1.05k forks source link

Add API functionality to update planners #3020

Closed L015H4CK closed 1 month ago

L015H4CK commented 2 months ago

Description

This pull request adds the functionality to Caldera's API to update existing planners.

Type of change

How Has This Been Tested?

The new feature was tested manually using the Swagger UI. Updating a planner, e.g. its description, results in the Caldera GUI showing the new description of the planner. Also the corresponding YAML file was reviewed and it was found that it is correctly updated.

New pytest tests were written and executed successfully after applying PR https://github.com/mitre/caldera/pull/3013 that fixes the currently broken tests.

Checklist:

More Info / Feature Request Issue

Instead of opening a feature request for this PR as an issue, the respective text can be found below.

What problem are you trying to solve? Please describe. The new Caldera planners released recently (e.g. the look ahead planner) offer much more configuration than the classic planners. I think it would be really useful to configure them using the API (and thus enabling configuration using the GUI) instead of working with the planners' YAML files.

Also, I have implemented a new planner (https://github.com/mitre/caldera/discussions/2914) that also offers a lot of configuration possibilities. In the future I intend to make my planner configurable using the Caldera GUI. To do so, I saw the need to update planners using the Caldera API.

The ideal solution: What should the feature should do? The API should offer a way to update existing planners.

What category of feature is this?

If you have code or pseudo-code please provide: See PR https://github.com/mitre/caldera/pull/3020.

Screenshot of Swagger UI Bildschirmfoto vom 2024-07-22 14-24-30

elegantmoose commented 2 months ago

Any qualms with this PR @clenk?

elegantmoose commented 1 month ago

TY @L015H4CK