slackapi / slackapi/python-slack-sdk
Proxy URL log can expose proxy credentials
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4k
- Forks
- 857
- Avg merge
- 22h 21m
- Merged PRs (30d)
- 16
Description
Reproducible in:
The Slack SDK version
slack_sdk==3.39.0
Python runtime version
Python 3.11.10
OS info
22.04.1-Ubuntu SMP Tue Dec 2 12:52:18 UTC 2025
Steps to reproduce:
Run the following
import os
from slack_sdk.web import WebClient
import logging
os.environ["HTTPS_PROXY"]="http://bob:secret@example.com"
logging.basicConfig(level=logging.DEBUG)
x = WebClient(token='fake')
Expected result:
The credentials part of the proxy URL should be redacted or the URL not printed at all.
Actual result:
The full URL gets printed, including user:pass
DEBUG:slack_sdk.web.base_client:HTTP proxy URL has been loaded from an env variable: http://bob:secret@example.com
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in slack_sdk.web.base_client, where WebClient loads HTTPS_PROXY and emits the debug message shown in the reproduction. Trace the proxy URL logging path, then verify with the provided Python 3.11 example that credentials are not exposed in debug output and add or update regression coverage if the repository has an applicable test location.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- security
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100