umbermark-cli 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. umbermark/__init__.py +18 -0
  2. umbermark/checks/__init__.py +88 -0
  3. umbermark/checks/auto_updates_configured.py +149 -0
  4. umbermark/checks/dns_resolver_sanity.py +47 -0
  5. umbermark/checks/fail2ban_enabled.py +67 -0
  6. umbermark/checks/failed_login_anomaly.py +48 -0
  7. umbermark/checks/failed_systemd_units.py +41 -0
  8. umbermark/checks/firewall_protective.py +247 -0
  9. umbermark/checks/journald_persistence.py +55 -0
  10. umbermark/checks/kernel_age.py +74 -0
  11. umbermark/checks/listen_vs_firewall_delta.py +136 -0
  12. umbermark/checks/mac_framework_enforcing.py +97 -0
  13. umbermark/checks/pending_security_updates.py +188 -0
  14. umbermark/checks/public_listen_anomalies.py +200 -0
  15. umbermark/checks/reboot_pending.py +71 -0
  16. umbermark/checks/repo_gpg_trust.py +97 -0
  17. umbermark/checks/root_disk_free.py +46 -0
  18. umbermark/checks/ssh_non_default_port.py +62 -0
  19. umbermark/checks/ssh_password_auth.py +71 -0
  20. umbermark/checks/ssh_permit_root.py +59 -0
  21. umbermark/checks/ssh_weak_ciphers.py +85 -0
  22. umbermark/checks/sudo_requires_authentication.py +41 -0
  23. umbermark/checks/sudoers_nopasswd.py +111 -0
  24. umbermark/checks/swap_pressure.py +51 -0
  25. umbermark/checks/time_sync.py +55 -0
  26. umbermark/checks/tmp_hardening.py +45 -0
  27. umbermark/checks/user_password_aging.py +95 -0
  28. umbermark/checks/world_writable_suid_audit.py +171 -0
  29. umbermark/cli/__init__.py +4 -0
  30. umbermark/cli/app.py +23 -0
  31. umbermark/cli/auth.py +44 -0
  32. umbermark/cli/commands/__init__.py +0 -0
  33. umbermark/cli/commands/doctor.py +16 -0
  34. umbermark/cli/commands/login.py +80 -0
  35. umbermark/cli/commands/push.py +54 -0
  36. umbermark/cli/commands/report.py +26 -0
  37. umbermark/cli/commands/scan.py +77 -0
  38. umbermark/cli/commands/scan_local.py +72 -0
  39. umbermark/cli/commands/scan_wsl.py +35 -0
  40. umbermark/cli/commands/version.py +11 -0
  41. umbermark/cli/config.py +14 -0
  42. umbermark/core/__init__.py +0 -0
  43. umbermark/core/accepted.py +61 -0
  44. umbermark/core/access.py +896 -0
  45. umbermark/core/branding.py +71 -0
  46. umbermark/core/capture.py +228 -0
  47. umbermark/core/check.py +82 -0
  48. umbermark/core/checkin.py +89 -0
  49. umbermark/core/crypto.py +15 -0
  50. umbermark/core/duration.py +45 -0
  51. umbermark/core/engine.py +74 -0
  52. umbermark/core/evidence.py +83 -0
  53. umbermark/core/external/__init__.py +6 -0
  54. umbermark/core/external/check.py +54 -0
  55. umbermark/core/external/checks/__init__.py +31 -0
  56. umbermark/core/external/checks/exposed_datastores.py +55 -0
  57. umbermark/core/external/checks/http_security_headers.py +249 -0
  58. umbermark/core/external/checks/legacy_services.py +52 -0
  59. umbermark/core/external/checks/open_management_ports.py +65 -0
  60. umbermark/core/external/checks/ssh_alt_ports.py +77 -0
  61. umbermark/core/external/checks/ssh_weak_algorithms.py +93 -0
  62. umbermark/core/external/checks/tls_hygiene.py +107 -0
  63. umbermark/core/external/engine.py +89 -0
  64. umbermark/core/external/ownership.py +607 -0
  65. umbermark/core/external/probe.py +103 -0
  66. umbermark/core/external/socket_probe.py +400 -0
  67. umbermark/core/firewall.py +713 -0
  68. umbermark/core/fleet.py +92 -0
  69. umbermark/core/history.py +235 -0
  70. umbermark/core/html_report.py +308 -0
  71. umbermark/core/keyenc.py +42 -0
  72. umbermark/core/labels.py +29 -0
  73. umbermark/core/lifecycle.py +100 -0
  74. umbermark/core/logredact.py +55 -0
  75. umbermark/core/partial.py +57 -0
  76. umbermark/core/pdf/__init__.py +0 -0
  77. umbermark/core/pdf/renderer.py +26 -0
  78. umbermark/core/pdf/weasyprint_renderer.py +18 -0
  79. umbermark/core/platform.py +73 -0
  80. umbermark/core/redact.py +75 -0
  81. umbermark/core/remediation.py +121 -0
  82. umbermark/core/report.py +25 -0
  83. umbermark/core/scoring.py +105 -0
  84. umbermark/core/settings.py +238 -0
  85. umbermark/core/short_id.py +27 -0
  86. umbermark/core/signing.py +24 -0
  87. umbermark/core/ssh.py +156 -0
  88. umbermark/core/ssh_fingerprint.py +16 -0
  89. umbermark/core/tiers.py +138 -0
  90. umbermark/core/webhooks.py +177 -0
  91. umbermark/core/wording.py +371 -0
  92. umbermark_cli-1.0.0.dist-info/METADATA +11 -0
  93. umbermark_cli-1.0.0.dist-info/RECORD +96 -0
  94. umbermark_cli-1.0.0.dist-info/WHEEL +5 -0
  95. umbermark_cli-1.0.0.dist-info/entry_points.txt +2 -0
  96. umbermark_cli-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,11 @@
1
+ Metadata-Version: 2.4
2
+ Name: umbermark-cli
3
+ Version: 1.0.0
4
+ Summary: Umbermark — Linux server hardening scanner (CLI only).
5
+ Requires-Python: >=3.10
6
+ Requires-Dist: paramiko>=3.4
7
+ Requires-Dist: typer>=0.12
8
+ Requires-Dist: jinja2>=3.1
9
+ Requires-Dist: httpx>=0.27
10
+ Requires-Dist: pynacl>=1.5
11
+ Requires-Dist: itsdangerous>=2.2
@@ -0,0 +1,96 @@
1
+ umbermark/__init__.py,sha256=99_-Czbt3cwVjH2HkFeUWC1jQpvXB3yIwgm2YTtzFDI,570
2
+ umbermark/checks/__init__.py,sha256=meATU7ey2y7yN1Z34X6nnyB1V4IEQkHD8BlqMsXv_kI,3536
3
+ umbermark/checks/auto_updates_configured.py,sha256=SGUeKPIPzZmSOVkUmXPoe-6dnQXQEAiXFNM75zub_OY,7226
4
+ umbermark/checks/dns_resolver_sanity.py,sha256=pkvlq7AOU1c52YoJRjrJG-tHMMKKvAcrNTlnu6DUHV4,2043
5
+ umbermark/checks/fail2ban_enabled.py,sha256=bXTY1sVCaeLTNodT1ef5lpnts5lgBl3f8Ezpyf1HUu0,3131
6
+ umbermark/checks/failed_login_anomaly.py,sha256=wyL6xFVSKQnDhQ2GMnR80ocCMoIDjDzJOiql7whp7_Q,1978
7
+ umbermark/checks/failed_systemd_units.py,sha256=xQhn00oF1HqpN0Is0n0GIZURG-H7D4kc2xucmiJrmQE,1524
8
+ umbermark/checks/firewall_protective.py,sha256=JjT8SlTyo-suTa3DyicCLm3MkpiOhcH_3JXopq9GH0k,11349
9
+ umbermark/checks/journald_persistence.py,sha256=QXDdz6sqgoUFtxLEbgiImqV1oaGh2pODbw4K3Ua6Hbw,2255
10
+ umbermark/checks/kernel_age.py,sha256=RaPDg4OTdE92qF-3Xf8RzzgilYPHHO1-X1QSPqrM2TA,2753
11
+ umbermark/checks/listen_vs_firewall_delta.py,sha256=mXCrJNGHxoYyZ5TOjsPkwaL2ysbXMvLehLgmQY8XTWU,6045
12
+ umbermark/checks/mac_framework_enforcing.py,sha256=uGFam024Le7Q2uYssaVfaq6CIWs8TW_J95PpnsvDlDI,4385
13
+ umbermark/checks/pending_security_updates.py,sha256=vriHpGaHn-T46LkPm8AVEJjrhlKORqPYzKabbibdMO0,9023
14
+ umbermark/checks/public_listen_anomalies.py,sha256=fLLhR0201bYS2061BOz1mpuMsaPE6ubGDJ1881Zc7cA,8953
15
+ umbermark/checks/reboot_pending.py,sha256=7sWI-Bu6LdFuaRiMn9xJIg2hemtqZHzxrv2jPyv4ZPc,3372
16
+ umbermark/checks/repo_gpg_trust.py,sha256=tV1F7JfCPdZQ6f3P3Hs1W1_CMF-OsBVFzYEHAe5U0G8,4405
17
+ umbermark/checks/root_disk_free.py,sha256=Wl-yAgsK3KwQKRf7L60iz2YE0-t5oTlge51zdimbTF8,1967
18
+ umbermark/checks/ssh_non_default_port.py,sha256=0poTmvUcsZX3gygetFV0O-dDhttw-PIf2Ni10xQ3IQk,2382
19
+ umbermark/checks/ssh_password_auth.py,sha256=NpH1Z6jxWUMkISRwS0dDWMHnkJtT0UJtOeeXDWA_zjE,3516
20
+ umbermark/checks/ssh_permit_root.py,sha256=995A5PvpVkBGbkOF-g9GEKqnNLDrK2rEe7AwryBj6qo,2304
21
+ umbermark/checks/ssh_weak_ciphers.py,sha256=9zrI3baYNeVb30gNoluovSF41gXxlRGt1FMh1hpRuX4,3419
22
+ umbermark/checks/sudo_requires_authentication.py,sha256=h4ssUIVQMRfqHgykuxHb2zcANj0HA-jOfxVUV8VFyZI,2252
23
+ umbermark/checks/sudoers_nopasswd.py,sha256=EGlsZIY_wrXJhWKieCKXhfhoRAyq8MbHWSdWfchxrn0,4807
24
+ umbermark/checks/swap_pressure.py,sha256=aW2ulos4RL1KEJiW5vwnnZLpiD_waSeElrBhjoBdzsI,2046
25
+ umbermark/checks/time_sync.py,sha256=QvXQTl1Va7sGfs0uXXc-vhf_qYIqzWGHO1-BLuY3BwQ,2138
26
+ umbermark/checks/tmp_hardening.py,sha256=OXPGKUJvyL0MtgFpDngKf4QDdx6ab0opJ1bvjQxTaQY,1693
27
+ umbermark/checks/user_password_aging.py,sha256=PV-6yzxGn59S-eTGlQaW1f8Kdz7SZ0-Grc2HG0hcVWI,4139
28
+ umbermark/checks/world_writable_suid_audit.py,sha256=_6jP5MvdCKZqUNLWi6DfTJWT2U5vuq0BP_vz7Blep9A,7969
29
+ umbermark/cli/__init__.py,sha256=OafcDkXjKNGtcm9Jq94td3ziRxmSomi4eyuJ-kDWS0w,82
30
+ umbermark/cli/app.py,sha256=zcrMgD8WRs3xq1KTR4AwOkvrHGKXx1kNO7aeOilcuqE,982
31
+ umbermark/cli/auth.py,sha256=tVHU6A0BWN7ZS12hrcmbQGv5m6vBHLl5NQXsOZc4lBE,1322
32
+ umbermark/cli/config.py,sha256=UKJYdTkMGghY3WwuQYQIoZg23HwxpxZjpr9gcrupMuc,513
33
+ umbermark/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ umbermark/cli/commands/doctor.py,sha256=Z4RLfwHawKAkgetjyjYX0ndL5zs9LO5P7KAQ9YHGVSM,527
35
+ umbermark/cli/commands/login.py,sha256=jKFnVjj-2r7JImPXhpCF_unS3WXgivbJeYHnJykYr04,2623
36
+ umbermark/cli/commands/push.py,sha256=ykyiWgNaG7abwrTpkFRr53otPvODJMUS3n74lp_okik,1591
37
+ umbermark/cli/commands/report.py,sha256=OqaVZj7Msux0oGg0B8vrjUsZGTecL-9nO7FzzSS2LUI,825
38
+ umbermark/cli/commands/scan.py,sha256=zVrqksoDMqE-7b5873oPlyPqpyV0VSQE9hP_nD3RXKU,2395
39
+ umbermark/cli/commands/scan_local.py,sha256=fnypb-9iceBR-Ly6_3MywIZIBSYKfkCT1YO3qlTt59k,2212
40
+ umbermark/cli/commands/scan_wsl.py,sha256=P-0pi3YwvtKEHf2kzuNYs9yxV7r64-p-BQpa7QwXfSA,1021
41
+ umbermark/cli/commands/version.py,sha256=H3LVWwojlQp6Sc8vxquSxf89yCCExcTfirmqnWloNf8,249
42
+ umbermark/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
+ umbermark/core/accepted.py,sha256=YTfmNw3zVQpderKyje-Fbm8fyAKTGAnrz8pktSU4Z8U,2783
44
+ umbermark/core/access.py,sha256=8FogW5EfcLaec3sD5ZkQjjG2H7WUW0fOQ0VJyOwWi9A,39801
45
+ umbermark/core/branding.py,sha256=N1A3-V4JOA4knKf76f29XVqEF7D8TJYBCOc2CqBBZeA,2361
46
+ umbermark/core/capture.py,sha256=MnD3cLC3eIaMxT6pt-JSm9V136i7jp38WdL0R_w9j0M,9208
47
+ umbermark/core/check.py,sha256=xgpGu6wBwycBk4KrgKOHzza7JwLLn4rEUNPbjLPPw20,2289
48
+ umbermark/core/checkin.py,sha256=YZKHU6uxrB2cPZy2NFWkUFIBXm0RmSETwg2Ow8rKByw,4073
49
+ umbermark/core/crypto.py,sha256=FioGtwhLM61hZvA__L9mNN7vVfPtqGUTGnO4PFCpdGI,552
50
+ umbermark/core/duration.py,sha256=9ArbjuIGhrYxI9B6jkr4_HBC6Rw9YANe_D1GDumoMG8,1704
51
+ umbermark/core/engine.py,sha256=NvpQlfjFKa_S76_g6NZ4bUbL5TS8QWDJ3ubr7JpEzvA,2434
52
+ umbermark/core/evidence.py,sha256=P7EzTuwJ67DXo05Ylfxp3VCyQLBPau9c-LqeIy366Kc,3806
53
+ umbermark/core/firewall.py,sha256=phz079QyUBglp_-4BsCQvS7xfJLiX5jocAGDSPjVjrc,28651
54
+ umbermark/core/fleet.py,sha256=CJoqoUmoBBwxkE8ppIxH2fWOtArKjq9r8DcUZ_fQkQs,3747
55
+ umbermark/core/history.py,sha256=qCNbRdijXXBNwoCG-IwOqcrOoKXALMUevxIQ5t5aeRY,9449
56
+ umbermark/core/html_report.py,sha256=dzY4RDN_vz5hZCxvDDf8zbVgAlb0fPl1As5zU7weoXU,12291
57
+ umbermark/core/keyenc.py,sha256=8xocjqYFR8zKhX1g455ZW2LtNYxrjQgHFFvGHhnb6uk,1464
58
+ umbermark/core/labels.py,sha256=Ir_JH2dSq3uGKLP3tTl6xr-QNHWhNexmHHpUMYtn-pc,844
59
+ umbermark/core/lifecycle.py,sha256=oBilfueGuqL3YiLjW4rlxEEplRABCY000KBJK7rRmYk,3975
60
+ umbermark/core/logredact.py,sha256=n1bhs7jESxy4B4bLYdQ3y5KI3ywK2ZyfOkXCCy3BD5A,2207
61
+ umbermark/core/partial.py,sha256=OkfQuMjJYUJBdigNXwf-j_XcazhRpoKBTfVlkXrDWNM,2232
62
+ umbermark/core/platform.py,sha256=QRY5Yzz1t4YlNUSgqd8n-C_fDvrOBNe0VNP-y1R8Nck,2355
63
+ umbermark/core/redact.py,sha256=LesaIucpdiNKl5JAxsIhwuF-ayyuDWn2-OjUK-9J0Nc,3159
64
+ umbermark/core/remediation.py,sha256=2qUysYVrAxSXaQahLms5aUvca5-SiMKUBURJ_5txDcU,5326
65
+ umbermark/core/report.py,sha256=UM9VDYHivLTuNmYFGFreosgtjAIh5d3QitecxyAET60,746
66
+ umbermark/core/scoring.py,sha256=vDTeaHp8mqZKBofs2xIJ40P7v_FdSXZv-kSQogl7EZM,2833
67
+ umbermark/core/settings.py,sha256=BIp83Cfp5dwmHjxCzHwkvPg0CVGsypp65Y0vy8JPooQ,12542
68
+ umbermark/core/short_id.py,sha256=LFRLtScYRgilCa1EEnnjdVJNImBaA7-1QxOnMH4I4OQ,817
69
+ umbermark/core/signing.py,sha256=07Cc7f16PKhTbatznzexGTGOeNZhbJGap5QvcTllNTs,909
70
+ umbermark/core/ssh.py,sha256=K40zfyd26K-lZT8mi0E6hWSt-wQYwiLKZlO8z6TWYAE,4392
71
+ umbermark/core/ssh_fingerprint.py,sha256=s2eGduJBxbmpjD2tAkVWd1XQE9cgMfpT1zY36aE6d5c,632
72
+ umbermark/core/tiers.py,sha256=09mGxpFpVzlOtG2Qq8B6Nzadv4O_uy12L563zZ2GYCE,6077
73
+ umbermark/core/webhooks.py,sha256=AdkqeaCRMilJufZ5oxQCoaXKBMa0Di3s4S5TMOn8MGc,7792
74
+ umbermark/core/wording.py,sha256=Yw0eB2zsMWJBm81X11A35KxRnlpS7GgLiGB-5_sKhYc,13924
75
+ umbermark/core/external/__init__.py,sha256=NMyipAiYW4PpAfkonW6tGmesTBMRxnE8vmDNFv301Vw,288
76
+ umbermark/core/external/check.py,sha256=1Ql1FkgD3u4K8ALlPOboJexC5CIFLfsCrUBf1K-jC9U,1827
77
+ umbermark/core/external/engine.py,sha256=35AJVhM9VWnvlL9cWtjlpjJX8HiJVLAXZBlI3CPS86o,3226
78
+ umbermark/core/external/ownership.py,sha256=zpvz9QkSEUegzNJWA8LnSiNXUxdQicdz8fDZLbCAspE,20794
79
+ umbermark/core/external/probe.py,sha256=wkqGZg-AU3P8jJLyWNHgsbaKDde18A2OmdUap0YaQrY,3861
80
+ umbermark/core/external/socket_probe.py,sha256=pCt9bKguSsYDah6HjYq71NLIAhrgeMfD8TO63V1TeQ8,16157
81
+ umbermark/core/external/checks/__init__.py,sha256=sibKeKHcgUm8DeweGF0ROnap8zcxkzRwZucPkRWwzB0,1169
82
+ umbermark/core/external/checks/exposed_datastores.py,sha256=ssFUxGSJoCkTm9VwmtErPUq4DEhsnH4bbXSTrfCJ24U,2140
83
+ umbermark/core/external/checks/http_security_headers.py,sha256=vqLEQuNYr10WhdTzcCkmqjmJG96QSLHIEECL0mKILCk,10602
84
+ umbermark/core/external/checks/legacy_services.py,sha256=iAAxHEdDkY7NCrv3UViH83d1EOtKK65qV1ofLROxVxA,1898
85
+ umbermark/core/external/checks/open_management_ports.py,sha256=wpuJUGpytXiZxp-wsD2bORxgmp2SH3QduTsDZmaMXKQ,2681
86
+ umbermark/core/external/checks/ssh_alt_ports.py,sha256=PAdEOTrvhGFjUQwHUIf0yAU5Cef94KVORULhYxTXa5c,3600
87
+ umbermark/core/external/checks/ssh_weak_algorithms.py,sha256=9PKozJwfOvE-xrYcyajh6iyouEkN10EQOD6RKeefvUw,3603
88
+ umbermark/core/external/checks/tls_hygiene.py,sha256=sCkM0RH22fiWH6LLRYLe6Og-KatMcYQ3nVI_Et7vYLA,4989
89
+ umbermark/core/pdf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
+ umbermark/core/pdf/renderer.py,sha256=05XW10Yqh3Ndwyv7zfdrUBea-haNu7WY4p-zLlAXwXM,815
91
+ umbermark/core/pdf/weasyprint_renderer.py,sha256=tQbrSNOM-1Y-YNB6HCchA4dYkF4jTWXpCY-Sn6w2j88,616
92
+ umbermark_cli-1.0.0.dist-info/METADATA,sha256=QZph927-9h8Y44SISRdx1Sem5draoNF_xwcac8RAcb4,328
93
+ umbermark_cli-1.0.0.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
94
+ umbermark_cli-1.0.0.dist-info/entry_points.txt,sha256=QN7Tr9MH2fInhCNRYDOz9H5YFJwuGuo7WgpgEHMWZcY,48
95
+ umbermark_cli-1.0.0.dist-info/top_level.txt,sha256=d3SP0jhXKY0P_B_52xzKfnpLWnbUhedUltMqcA8BFEA,10
96
+ umbermark_cli-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.2.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ umbermark = umbermark.cli:app
@@ -0,0 +1 @@
1
+ umbermark