Commit Graph

1456 Commits

Author SHA1 Message Date
Charlie Crane
4e7ca7a88a #2912 - Removal of excess comments 2024-11-15 16:49:16 +00:00
Charlie Crane
95fbe45137 #2912 - Updates so that all tests within test_actions.py pass 2024-11-13 15:32:48 +00:00
Charlie Crane
ed020f005f #2912 - Pre-commit updates ahead of first draft PR. 2024-11-13 10:40:51 +00:00
Charlie Crane
d757bd01f0 #2912 - Updated to include __all__ and some test fixes. New extensible actions documentation page 2024-11-12 14:49:44 +00:00
Charlie Crane
844a3a60fa #2912 - Steps to get test_actions passing the refactored actions. Some linting changes and YAML updates. 2024-10-30 18:34:05 +00:00
Charlie Crane
5cd629a821 #2912 - Fixed actionmanager issue and moved abstractaction to solve import error 2024-10-23 18:45:57 +01:00
Charlie Crane
518b934e09 #2912 - Corrections to some actions & fixing some linting. TODO: Action Manager errors 2024-10-22 17:02:54 +01:00
Charlie Crane
11357f87ca #2912 - eod commit. Addressing test and lint errors for refactored actions 2024-10-21 17:51:55 +01:00
Charlie Crane
a5c7565f0e #2912 - eod commit. Gutted ActionManager and corrected some identifiers. 2024-10-18 16:28:15 +01:00
Charlie Crane
83d3120b04 #2912 - Additional actions added to config.py, refactor of HostNIC 2024-10-18 14:52:50 +01:00
Charlie Crane
1b1f3e4f71 #2912 - Updates to remaining action refactoring 2024-10-18 12:07:53 +01:00
Charlie Crane
a90aec2bcd #2912 - End of day commit 2024-10-17 16:59:44 +01:00
Charlie Crane
cd30e2d084 #2912 - Mid-day commit. Actions moving across from actions.py to game.agent.actions 2024-10-17 12:22:30 +01:00
Marek Wolan
861cfe2c0a #2912 - scaffold of action changes 2024-10-11 15:00:26 +01:00
Marek Wolan
6844bd692a bump version to 4.0.0a1 2024-10-11 13:02:44 +01:00
Marek Wolan
9626cfc990 Merge remote-tracking branch 'origin/release/3.3.0' into 4.0.0a1 2024-10-11 12:42:32 +01:00
Marek Wolan
43ec85a669 #2755 - refix some air space frequency issues 2024-10-11 09:52:16 +01:00
Marek Wolan
8419fd751a Merged PR 561: Make it possible to add sets of nodes to the network
## Summary
* Changed the office LAN convenience function to a class with a registry. Now, plugin can register custom node adders.
* Added ability to define `node_sets` in the config that map to `NetworkNodeAdder` subclasses
* Made airspacefrequency into a DTO class again to make management simpler.
* Moved the node registry out of `HostNode` and `NetworkNode` into `Node`
* Changed game.py to check the hardcoded node types before the node registry (this will change once I add ConfigSchema to all node subclasses)
* Made `show` method of the network container show all nodes, including ones registered at runtime.

## Test process
* Existing tests passed.
* Added unit tests for node adders

## Checklist
- [X] PR is linked to a **work item**
- [X] **acceptance criteria** of linked ticket are met
- [X] performed **self-review** of the code
- [X] written **tests** for any new functionality added with this PR
- [X] updated the **documentation** if this PR changes or adds functionality
- [ ] written/updated **design docs** if this PR implements new functionality
- [X] updated the **change log**
- [X] ran **pre-commit** checks for code style
- [ ] attended to any **TO-DOs** left in the code
2024-10-09 14:56:57 +00:00
Marek Wolan
611b34e29f remove outdated comment 2024-10-09 14:16:23 +01:00
Marek Wolan
a42398ac09 Fix typos and improve validation 2024-10-09 14:15:53 +01:00
Marek Wolan
56a17c3fea Update typos and comments according to PR comments 2024-10-08 13:40:40 +01:00
Marek Wolan
b4cc1b4379 Add tests for office lan creation 2024-10-04 11:07:49 +01:00
Marek Wolan
b5b7fc6a8d Give node types their own identifiers and make the network show method use them 2024-10-04 09:20:07 +01:00
Marek Wolan
5fde945fac rename identifier back to type 2024-10-02 14:24:59 +01:00
Marek Wolan
a838cc6ce1 Convert office lan adder to a class and make it extendable 2024-10-02 13:56:39 +01:00
Marek Wolan
221e09ba51 Turn AirSpaceFrequency to a schema instead of a dict for validation 2024-09-27 15:06:19 +01:00
Marek Wolan
5282cb0294 #2899 - Make software manager always show() all software 2024-09-27 10:56:48 +01:00
Marek Wolan
c74d5ac227 Fix changelog typo and remove repitition in ACL show method 2024-09-27 09:28:26 +01:00
Marek Wolan
203ec5ec85 Add tests for port and protocol validation and update changelog 2024-09-26 16:00:59 +01:00
Marek Wolan
f2b6d68b14 Fix Port scan 2024-09-26 15:35:50 +01:00
Marek Wolan
50e2234a69 Remove commented out code 2024-09-25 16:51:58 +01:00
Marek Wolan
f1b911bc65 Change port and protocol to annotated validators 2024-09-25 16:28:22 +01:00
Marek Wolan
695891f55c Add port and protocol custom validators 2024-09-20 11:21:28 +01:00
Marek Wolan
08f1cf1fbd Fix airspace and remaining port problems from refactor 2024-09-19 15:06:29 +01:00
Marek Wolan
dd931d900b port refactor - eod commit, airspace still broken 2024-09-18 16:02:25 +01:00
Charlie Crane
f6d793196d #2837 - Actioning review comments following second review [skip ci] 2024-09-05 16:44:29 +01:00
Charlie Crane
9fe48bb241 #2837 - Commiting a typo correction in Using Episode Schedules notebook [skip ci] 2024-09-05 11:32:39 +01:00
Charlie Crane
a5e75f9fed #2837 - Actioning notebook review comments 2024-09-05 11:24:52 +01:00
=
310876cd3b 2755 Add ability to extend HostNode, NetworkNode, Service and Application outside PrimAITE. 2024-09-04 15:49:37 +01:00
Charlie Crane
d282575467 #2837 - Updating the User Guide as per review comments. [skip ci] 2024-09-04 12:07:32 +01:00
Marek Wolan
a5d84c1254 Reduce evaluation on Ray notebooks and fix precommit issues [skip ci] 2024-09-02 11:40:39 +01:00
Marek Wolan
3a6e10b772 Updated VERSION 2024-09-02 07:46:03 +00:00
Nick Todd
d3200f70e1 #2844: Added evaluation stage to Ray notebooks. 2024-08-30 10:23:34 +01:00
Marek Wolan
a1553fb1b4 Backport core changes from internal 2024-08-28 10:20:32 +01:00
Archer Bowen
9a6b1d374a Fixed incorrect formatting on .rst and new priv esc notebook 2024-08-23 12:22:56 +01:00
Christopher McCarthy
ff5a2e1bbe Merged PR 510: Privilege Escalation & Data Loss Example Notebook
## Summary
- Added a new Privilege-Escalation-and Data-Loss-Example.ipynb notebook with a more realistic scenario.
- Made some minor changes to multi_lan_internet_network_example.yaml to enable the new scenario.

## Test process
Manual end-to-end run of the notebook.

## Checklist
- [X] PR is linked to a **work item**
- [X] **acceptance criteria** of linked ticket are met
- [X] performed **self-review** of the code
- [X] written **tests** for any new functionality added with this PR
- [ ] updated the **documentation** if this PR changes or adds functionality
- [ ] written/updated **design docs** if this PR implements new functionality
- [X] updated the **change log**
- [X] ran **pre-commit** checks for code style
- [ ] attended to any **TO-DOs** left in the code

Related work items: #2686
2024-08-22 10:12:38 +00:00
Chris McCarthy
4a7a4fd571 #2686 - typo changes in jupyter notebook 2024-08-22 09:53:27 +01:00
Marek Wolan
71ec71e400 Fix incorrect removal of last_query_response from database client 2024-08-20 15:46:54 +00:00
Chris McCarthy
5d209e4ff9 #2686 - Added a new Privilege-Escalation-and Data-Loss-Example.ipynb notebook with a more realistic scenario. Made some minor changes to multi_lan_internet_network_example.yaml to enable the new scenario. 2024-08-20 15:33:39 +01:00
Archer Bowen
bceedbf72d Merged PR 504: Command and Control Full PR
## Summary
Implements the Command and Control applications to the quality and capability needed for the TAP001 expansion and lays the foundations for all the features required for TAP002 (Next Release).

The C2C suite contains three new applications:

**1. Abstract C2**

Base class for the C2 Server and the C2 Beacon. Controls the main internal logic of both applications but with a couple of abstract methods which each class defines differently.

**2. C2 Server**

The C2 Server takes red agent actions and converts the action options into C2 Commands which are then passed to the C2 Beacon.
The output of these commands is sent back to the C2 Server and then returned back to the red agent.

**3. C2 Beacon**

The C2 beacon uses the Terminal and the Ransomware Applications to perform different commands which it receives these commands and executes them and returns the output.

The C2 beacon can also be configured by the Red Agent to configure the current networking behaviour.

For a much more detailed description please refer to the .rst documentation and the notebook which demonstrate and describe the functionality very explicitly.

Lastly the wiki page also provides more information around the design work for this feature.

[Command and Control](/Welcome-to-PrimAITE!/Design/[~In-Progress~]/Command-and-Control)

Worth noting that some changes were needed that were unseen during the design page but the overall goals of the feature have been accomplished.

## Test process
Tested via notebooks and a series of e2e tests.

## Checklist
- [x] PR is linked to a **work item**
- [x] **acceptance criteria** of linked ticket are met
- [x] performed **self-review** of the code
- [x] written **tests** for any new functionality added with this PR
- [x] updated the **documentation** if this PR changes or adds functionality
- [x] written/updated **design docs** if this PR implements new functionality
- [x] updated the **change log**
- [x] ran **pre-commit** checks for code style
- [x] attended to any **TO-DOs** left in the code (One remaining but unsure if it should be handled in this PR)

Related work items: #2689, #2720, #2721, #2779
2024-08-20 13:16:22 +00:00