Skip to content

Conversation

@dacoburn
Copy link
Collaborator

@dacoburn dacoburn commented Nov 7, 2025

Add Socket tier 1 reachability analysis support to the Python CLI, enabling users to analyze which vulnerable functions in their dependencies are actually reachable from their code.

Why?

Reachability analysis helps teams prioritize security vulnerabilities by identifying which ones are actually exploitable in their codebase. This reduces alert fatigue by focusing on vulnerabilities in code paths that are actually used, rather than all theoretical vulnerabilities in dependencies. The feature integrates Coana's reachability engine via the --reach flag, automatically checking dependencies, installing required tools, and submitting analysis results to Socket for enhanced vulnerability assessment.

Key benefits:

  • Reduces false positives by filtering out unreachable vulnerabilities
  • Saves developer time by prioritizing actionable security issues
  • Seamlessly integrates with existing Socket workflows
  • Supports customizable analysis parameters (timeouts, memory limits, severity thresholds)
  • Can submit reachability results independently via --only-facts-file mode

Public Changelog

Added reachability analysis support with new --reach flag. Enable reachability analysis to identify which vulnerable functions in your dependencies are actually called by your code. Requires uv, npm, and npx. Use --only-facts-file to submit only reachability results to an existing scan.

- Add --reach flag and related CLI arguments for reachability analysis
- Add ReachabilityAnalyzer class to run @coana-tech/cli
- Add dependency checks for java, npm, uv, npx when --reach is enabled
- Add --only-facts-file mode to submit only .socket.facts.json
- Auto-install @coana-tech/cli if not present
- Stream reachability CLI output to stderr for user visibility
- Filter .socket.facts.json from manifest uploads but include in full scans
- Set tmp=False in FullScanParams to fix API 400 errors
@dacoburn dacoburn requested a review from a team as a code owner November 7, 2025 03:12
@dacoburn dacoburn requested review from amoeller and jhiesey and removed request for a team November 7, 2025 03:12
@socket-security
Copy link

socket-security bot commented Nov 7, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedpypi/​bs4@​0.0.210010090100100
Updatedpypi/​socketdev@​3.0.5 ⏵ 3.0.1499 +1100100100100
Addedpypi/​soupsieve@​2.899100100100100

View full report

@github-actions
Copy link

github-actions bot commented Nov 7, 2025

🚀 Preview package published!

Install with:

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple socketsecurity==2.2.18.dev1

Docker image: socketdev/cli:pr-125

@socket-security-staging
Copy link

socket-security-staging bot commented Nov 7, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedpypi/​bs4@​0.0.210010090100100
Updatedpypi/​socketdev@​3.0.5 ⏵ 3.0.1499 +1100100100100
Addedpypi/​soupsieve@​2.899100100100100

View full report

…irement

- Add comprehensive reachability analysis parameters section to README
- Document all --reach-* CLI flags with descriptions and defaults
- List required dependencies (npm, npx, uv) excluding java
- Remove java from required dependencies check in socketcli.py
- Update usage synopsis to include reachability flags
@dacoburn dacoburn added the Product Changelog New features for the public changelog label Nov 7, 2025
@dacoburn dacoburn merged commit ef1fbf9 into main Nov 7, 2025
6 checks passed
@dacoburn dacoburn deleted the doug/add-socket-tier1-reachability branch November 7, 2025 03:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Product Changelog New features for the public changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants