aboutsummaryrefslogtreecommitdiff
path: root/applications/gitlab/passwords.py
diff options
context:
space:
mode:
Diffstat (limited to 'applications/gitlab/passwords.py')
-rw-r--r--applications/gitlab/passwords.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/applications/gitlab/passwords.py b/applications/gitlab/passwords.py
new file mode 100644
index 0000000..84ab107
--- /dev/null
+++ b/applications/gitlab/passwords.py
@@ -0,0 +1,29 @@
+"""
+Verify if password policies are enforced in a self-hosted GitLab instance.
+
+ Ref: https://docs.gitlab.com/api/settings/
+"""
+
+import requests
+
+BASE_URL = "https://gitlab.com/api/v4"
+PRIVATE_TOKEN = "your_access_token"
+TIMEOUT = 30
+
+URL = f"{BASE_URL}/application/settings"
+HEADERS = {"PRIVATE-TOKEN": PRIVATE_TOKEN}
+
+if __name__ == "__main__":
+ # Get application settings
+ response = requests.get(URL, headers=HEADERS, timeout=TIMEOUT)
+ if response.status_code == 200:
+ settings = response.json()
+ password_length = settings.get("password_length", "Not set")
+ password_complexity = settings.get("password_complexity", "Not set")
+
+ print(f"Password Length: {password_length}")
+ print(f"Password Complexity: {password_complexity}")
+ else:
+ print(
+ f"Failed to fetch application settings: {response.status_code}, {response.text}"
+ )