Skip to content

Fix macOS multiprocessing compatibility - #106

Open
Elymaro wants to merge 2 commits into
blacklanternsecurity:masterfrom
Elymaro:master
Open

Fix macOS multiprocessing compatibility#106
Elymaro wants to merge 2 commits into
blacklanternsecurity:masterfrom
Elymaro:master

Conversation

@Elymaro

@Elymaro Elymaro commented Aug 17, 2026

Copy link
Copy Markdown

On macOS, MANSPIDER uses the spawn multiprocessing start method. The file parser process receives a bound Spiderling.parse_file method, which requires the Spiderling instance to be pickled. This instance contains an Impacket SMBConnection, whose SMB3 state contains non-picklable objects such as local lambda functions, resulting in a PicklingError.

Replacing the parser subprocess with a thread avoids serializing the active SMB connection while preserving asynchronous parsing.

Additionally, spawned child processes recreate MANSPIDER's multiprocessing logging queue without starting a corresponding QueueListener, causing console logs to disappear while file logging continues to work.

@github-actions

github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@Elymaro

Elymaro commented Aug 17, 2026

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

@Elymaro

Elymaro commented Aug 17, 2026

Copy link
Copy Markdown
Author

recheck

bls-cla-bot Bot added a commit to blacklanternsecurity/CLA that referenced this pull request Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant