Commit Graph

1455 Commits

Author SHA1 Message Date
Nick Todd
335ca9a02f Merged PR 546: Log the random seed used on each run
## Summary
Added changes so that the value of the random number seed is recorded in a log file when it's specified or the user asks for a RNG seed to be automatically generated.

## Test process
Updated existing RNG tests; added new test.

## 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: #2879
2024-09-17 13:06:10 +00:00
Czar Echavez
c589c3d3c2 Merged PR 543: #2880: fix action shape for num_ports + test
## Summary
Resolved a bug where the array for protocols is used to determine the num_ports instead of the array for ports

## Test process
Added a test that checks the shape of the RouterAddACLRule action

## 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
- [ ] updated the **change log**
- [X] ran **pre-commit** checks for code style
- [ ] attended to any **TO-DOs** left in the code

#2880: fix action shape for num_ports + test

Related work items: #2880
2024-09-17 09:38:05 +00:00
Nick Todd
67a7142221 Merge branch 'dev' into feature/2879-log-random-seed-value 2024-09-17 10:11:15 +01:00
Charlie Crane
78014cd54e Merged PR 540: Sync User Guide updates back into Dev
## Summary
Syncing Dev with release/3.3.0 following changes to the User Guide after review.

## Test process
*How have you tested this (if applicable)?*

## Checklist
- [ ] PR is linked to a **work item**
- [ ] **acceptance criteria** of linked ticket are met
- [ ] performed **self-review** of the code
- [ ] 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
- [ ] updated the **change log**
- [ ] ran **pre-commit** checks for code style
- [ ] attended to any **TO-DOs** left in the code

Related work items: #2837
2024-09-17 08:28:06 +00:00
Nick Todd
215ceaa6e8 #2879: Fix call to set_random_seed() in reset(). 2024-09-16 10:08:45 +01:00
Nick Todd
e0a1092834 #2879: Pre-commit fix. 2024-09-16 09:04:17 +01:00
Nick Todd
01a2c834ce #2879: Write seed value to log file. 2024-09-13 14:53:15 +01:00
Nick Todd
08fcf1df19 #2879: Add generate_seed_value to global options. 2024-09-13 12:59:41 +01:00
Nick Todd
6ebe50c331 #2879: Reduce max seed value to comply with python random seed limit 2024-09-13 12:58:37 +01:00
Nick Todd
cd8fc6d42d #2879: Handle generate_seed_value option 2024-09-13 12:10:49 +01:00
Charlie Crane
59e1ca6615 #2456 - Merging in updates on Dev and resolving merge conflicts 2024-09-13 11:55:26 +01:00
Czar Echavez
519fb98e25 Merged PR 541: Config item that allows services and applications to return actual health states without the need to scan
## Summary
Added:
- services_requires_scan
- applications_requires_scan

To allow the agents to get the actual health state of services and applications without the need to scan

## Test process
https://dev.azure.com/ma-dev-uk/PrimAITE/_git/PrimAITE/pullrequest/541?_a=files&path=/tests/unit_tests/_primaite/_game/_agent/test_observations.py

## Checklist
- [X] PR is linked to a **work item**
- [X] **acceptance criteria** of linked ticket are met
- [X] performed **self-review** of the code
- [ ] 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: #2864
2024-09-13 10:24:31 +00:00
Czar Echavez
9a2fb2a084 #2880: fix action shape for num_ports + test 2024-09-13 11:11:58 +01:00
Charlie Crane
d8c85058ed #2456 - Minor change to arp.show() to include port number 2024-09-13 10:32:09 +01:00
Czar Echavez
f1ff1f13cf #2864: added applications_requires_scan test 2024-09-13 09:08:44 +01:00
Czar Echavez
1f937a4c96 #2864: config not being passed correctly 2024-09-12 18:54:18 +01:00
Czar Echavez
7c26ca9d79 #2864: add configuration for services_requires_scan and applications_requires_scan 2024-09-12 16:07:14 +01:00
Czar Echavez
eb24d1270b Merged PR 529: #2842 and #2843: implement add user and disable user actions + tests
## Summary
Added actions which allow a user to be added and disabled

## Test process
https://dev.azure.com/ma-dev-uk/PrimAITE/_git/PrimAITE/pullrequest/529?_a=files&path=/tests/integration_tests/game_layer/actions/test_user_account_actions.py

## 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
- [ ] updated the **change log**
- [X] ran **pre-commit** checks for code style
- [ ] attended to any **TO-DOs** left in the code

#2842 and #2843: implement add user and disable user actions + tests

Related work items: #2842, #2843
2024-09-12 09:45:05 +00:00
Charlie Crane
85863b1972 #2775 - Removed a print statement committed in error and updated the checks done in subject_to_acl following review 2024-09-11 15:36:51 +01:00
Charlie Crane
f95501f2a8 #2775 - Purging of more instances where the ARP acl rule is set and no longer necessary. Added a new test to show ARP is unaffected by ACL rules and actioned review comments 2024-09-11 15:12:36 +01:00
Charlie Crane
e9531bc392 Merge branch 'dev' into feature/2775-Refactor_Networking_Nodes 2024-09-11 11:27:26 +01:00
Charlie Crane
19d6fa2174 #2775 - Updated to look neater 2024-09-11 10:12:07 +01:00
Charlie Crane
1c6e8b2a95 #2775 - Removed default ARP rule for routers and added logic when handling ARP traffic 2024-09-10 11:39:04 +01:00
Czar Echavez
4a48a8d054 #2345: return error if db connection cannot be made 2024-09-09 10:54:42 +01:00
Czar Echavez
a998b8e22b #2345: remove try catch + todo - figure out why db connection cannot be made 2024-09-05 16:47:17 +01:00
Charlie Crane
f6d793196d #2837 - Actioning review comments following second review [skip ci] 2024-09-05 16:44:29 +01:00
Czar Echavez
1234b2dc4a Merged PR 523: #2782: initial impl of files in nodes
## Summary
Added ability to add folders and files to nodes via configuration

## Test process
https://dev.azure.com/ma-dev-uk/PrimAITE/_git/PrimAITE/pullrequest/523?_a=files&path=/tests/integration_tests/configuration_file_parsing/test_node_file_system_config.py

## 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
- [ ] updated the **change log**
- [X] ran **pre-commit** checks for code style
- [ ] attended to any **TO-DOs** left in the code

#2782: initial impl of files in nodes

Related work items: #2782
2024-09-05 13:57:42 +00:00
Czar Echavez
e809d89c30 #2842 and #2843: implement add user and disable user actions + tests 2024-09-05 13:47:59 +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
Czar Echavez
2391c48569 #2782: apply suggestions 2024-09-05 10:18:35 +01:00
Nick Todd
5608ad5ed5 #2845: Change 'obs_space_data' to 'observation'. 2024-09-04 14:25:08 +01:00
Charlie Crane
d282575467 #2837 - Updating the User Guide as per review comments. [skip ci] 2024-09-04 12:07:32 +01:00
Czar Echavez
1374a23e14 #2782: fix spacing in data_manipulation yaml + documentation 2024-09-04 10:17:33 +01:00
Nick Todd
8e57e707b3 #2845: Changed to store obs data within AgentHistoryItem 2024-09-03 14:38:19 +01:00
Czar Echavez
26a56bf360 #2782: documentation + adding example to data_manipulation.yaml 2024-09-03 12:37:39 +01:00
Czar Echavez
8e6b9f3970 #2782: added ability to create empty folders + create files with size and types + tests 2024-09-03 11:53:23 +01:00
Nick Todd
5cacbf0337 #2845: Changes to write observation space data to log file. 2024-09-02 16:54:13 +01:00
Czar Echavez
a7f00c668d #2782: initial impl of files in nodes 2024-09-02 15:15:45 +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
Archer Bowen
c9d62d512c #2689 fixed mismerge 2024-08-20 11:15:04 +01:00