OWASP / OWASP/Nettacker

Python 3.12 SSL compatibility: ssl.wrap_socket removed

Open
#1,190 9 comments 0 reactions 1 assignee View on GitHub

@faneeshh is already working on this.

Since Aug 18, 2026.

Dominant language
Python
Stars
5.6k
Forks
1.2k
Avg merge
1d 21h
Merged PRs (30d)
16

Description

Problem

Python 3.12 removed the deprecated ssl.wrap_socket() function, causing Nettacker's SSL scanning functionality to fail on Python 3.12+.

Impact

  • SSL weak version detection broken
  • SSL weak cipher detection broken
  • Users on Python 3.12+ cannot use Nettacker

Root Cause

The deprecated ssl.wrap_socket() was removed in Python 3.12. Nettacker needs to use the modern ssl.SSLContext().wrap_socket() API instead.

Solution

Replace ssl.wrap_socket() with ssl.SSLContext().wrap_socket() throughout the codebase with proper certificate verification settings.

Testing Completed

  • ✅ Full Nettacker scan completed successfully on Python 3.12.3
  • ✅ All 117 modules loaded without errors
  • ✅ SSL weak version detection confirmed working
  • ✅ SSL weak cipher detection confirmed working
  • ✅ Port scanning executed correctly (1005 requests)
  • ✅ Report generation successful
  • ✅ Zero Python 3.12 compatibility errors

Related PR

  • PR #1177: Implementation of this fix

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.