Skip to content

Commit 69e326b

Browse files
committed
Merge branch '3078-test-unauthenticated-requests-rejected' into develop
Issue #3078 PR #3217
2 parents df55c0d + ea5323c commit 69e326b

File tree

2 files changed

+75
-4
lines changed

2 files changed

+75
-4
lines changed

envs/monkey_zoo/blackbox/island_client/monkey_island_requests.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import logging
22
from http import HTTPStatus
3-
from typing import Dict
43

54
import requests
65

6+
from common.types import JSONSerializable
7+
78
from .i_monkey_island_requests import IMonkeyIslandRequests
89

910
ISLAND_USERNAME = "test"
@@ -89,17 +90,17 @@ def put(self, url, data):
8990
self.addr + url, data=data, headers=self.get_auth_header(), verify=False
9091
)
9192

92-
def put_json(self, url, json: Dict):
93+
def put_json(self, url, json: JSONSerializable):
9394
return requests.put( # noqa: DUO123
9495
self.addr + url, json=json, headers=self.get_auth_header(), verify=False
9596
)
9697

97-
def post_json(self, url, json: Dict):
98+
def post_json(self, url, json: JSONSerializable):
9899
return requests.post( # noqa: DUO123
99100
self.addr + url, json=json, headers=self.get_auth_header(), verify=False
100101
)
101102

102-
def patch(self, url, data: Dict):
103+
def patch(self, url, data: JSONSerializable):
103104
return requests.patch( # noqa: DUO123
104105
self.addr + url, data=data, headers=self.get_auth_header(), verify=False
105106
)

envs/monkey_zoo/blackbox/test_blackbox.py

+70
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,76 @@ def test_agent__cannot_access_nonagent_endpoints(island):
316316
)
317317

318318

319+
def test_unauthenticated_user_cannot_access_API(island):
320+
island_requests = MonkeyIslandRequests(island)
321+
322+
assert (
323+
island_requests.post(AGENT_EVENTS_ENDPOINT, data=None).status_code
324+
== HTTPStatus.UNAUTHORIZED
325+
)
326+
assert (
327+
island_requests.post(AGENT_HEARTBEAT_ENDPOINT, data=None).status_code
328+
== HTTPStatus.UNAUTHORIZED
329+
)
330+
assert island_requests.put(PUT_LOG_ENDPOINT, data=None).status_code == HTTPStatus.UNAUTHORIZED
331+
assert island_requests.get(GET_AGENT_PLUGINS_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
332+
assert (
333+
island_requests.get("/api/agent-plugins/plugin-type/plugin-name/manifest").status_code
334+
== HTTPStatus.UNAUTHORIZED
335+
)
336+
assert island_requests.get(GET_AGENT_SIGNALS_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
337+
assert (
338+
island_requests.post(GET_AGENTS_ENDPOINT, data=None).status_code == HTTPStatus.UNAUTHORIZED
339+
)
340+
assert island_requests.get(GET_AGENT_EVENTS_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
341+
assert island_requests.get(PUT_LOG_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
342+
assert (
343+
island_requests.post(TERMINATE_AGENTS_ENDPOINT, data=None).status_code
344+
== HTTPStatus.UNAUTHORIZED
345+
)
346+
assert island_requests.get(GET_AGENTS_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
347+
assert (
348+
island_requests.post(CLEAR_SIMULATION_DATA_ENDPOINT, data=None).status_code
349+
== HTTPStatus.UNAUTHORIZED
350+
)
351+
assert island_requests.get(MONKEY_EXPLOITATION_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
352+
assert island_requests.get(GET_ISLAND_LOG_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
353+
assert island_requests.get(ISLAND_MODE_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
354+
assert (
355+
island_requests.put(ISLAND_MODE_ENDPOINT, data=None).status_code == HTTPStatus.UNAUTHORIZED
356+
)
357+
assert (
358+
island_requests.post(ISLAND_RUN_ENDPOINT, data=None).status_code == HTTPStatus.UNAUTHORIZED
359+
)
360+
assert island_requests.get(GET_MACHINES_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
361+
assert island_requests.get(GET_NODES_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
362+
assert (
363+
island_requests.put(PROPAGATION_CREDENTIALS_ENDPOINT, data=None).status_code
364+
== HTTPStatus.UNAUTHORIZED
365+
)
366+
assert (
367+
island_requests.get(PROPAGATION_CREDENTIALS_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
368+
)
369+
assert (
370+
island_requests.get(GET_RANSOMWARE_REPORT_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
371+
)
372+
assert island_requests.get(REMOTE_RUN_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
373+
assert (
374+
island_requests.post(REMOTE_RUN_ENDPOINT, data=None).status_code == HTTPStatus.UNAUTHORIZED
375+
)
376+
assert island_requests.get(GET_REPORT_STATUS_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
377+
assert (
378+
island_requests.post(RESET_AGENT_CONFIG_ENDPOINT, data=None).status_code
379+
== HTTPStatus.UNAUTHORIZED
380+
)
381+
assert island_requests.get(GET_SECURITY_REPORT_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
382+
assert island_requests.get(GET_ISLAND_VERSION_ENDPOINT).status_code == HTTPStatus.UNAUTHORIZED
383+
assert (
384+
island_requests.put(PUT_AGENT_CONFIG_ENDPOINT, data=None).status_code
385+
== HTTPStatus.UNAUTHORIZED
386+
)
387+
388+
319389
LOGOUT_AGENT_ID = uuid4()
320390

321391

0 commit comments

Comments
 (0)