dstl / YAWNING-TITAN

YAWNING TITAN is an abstract, graph based cyber-security simulation environment that supports the training of intelligent agents for autonomous cyber operations.
MIT License
57 stars 17 forks source link

Scanning action not useful as blue agent sees the true compromised state #11

Closed john-cardiff closed 1 year ago

john-cardiff commented 2 years ago

https://github.com/dstl/YAWNING-TITAN/blob/6457037045db93bb63a74f0edd335e9054437b28/yawning_titan/envs/generic/core/network_interface.py#L825

The blue agent's observation includes the true compromised state instead of its observation of the compromised state.

    # Gets the current safe/compromised status of all of the nodes
    compromised_state = []
    if self.obs_compromised_status:
        # FIXED
        compromised_state = np.asarray(
            list(self.get_attributes_from_key("blue_view_compromised_status").values())
        )
        # previously was
        # compromised_state = np.asarray(
        #     list(self.get_attributes_from_key("true_compromised_status").values())
        # )
jamesshort1 commented 1 year ago

Added as a new IDT Jira issue (AIDT-65)

ChrisMcCarthyDev commented 1 year ago

Thank you for raising this issue @john-cardiff. We're currently working on getting the next release of Yawning-Titan out fairly soon; this fix will be applied in this release.

ChrisMcCarthyDev commented 1 year ago

Closing this issue as fix applied in https://github.com/dstl/YAWNING-TITAN/releases/tag/v1.0.0