You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add Socket tier 1 reachability analysis support (#125)
* feat: add Socket tier 1 reachability analysis support
- 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
* docs: update README with reachability parameters and remove java requirement
- 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
* Added org check details
| --reach | False | False | Enable reachability analysis to identify which vulnerable functions are actually called by your code |
171
+
| --reach-version | False | latest | Version of @coana-tech/cli to use for analysis |
172
+
| --reach-analysis-timeout | False | 1200 | Timeout in seconds for the reachability analysis (default: 1200 seconds / 20 minutes) |
173
+
| --reach-analysis-memory-limit | False | 4096 | Memory limit in MB for the reachability analysis (default: 4096 MB / 4 GB) |
174
+
| --reach-ecosystems | False | | Comma-separated list of ecosystems to analyze (e.g., "npm,pypi"). If not specified, all supported ecosystems are analyzed |
175
+
| --reach-exclude-paths | False | | Comma-separated list of file paths or patterns to exclude from reachability analysis |
| --reach-output-file | False | .socket.facts.json | Path where reachability analysis results should be saved |
180
+
| --only-facts-file | False | False | Submit only the .socket.facts.json file to an existing scan (requires --reach and a prior scan) |
181
+
182
+
**Reachability Analysis Requirements:**
183
+
- `npm` - Required to install and run @coana-tech/cli
184
+
- `npx` - Required to execute @coana-tech/cli
185
+
- `uv` - Required for Python environment management
186
+
187
+
The CLI will automatically install @coana-tech/cli if not present. Use `--reach` to enable reachability analysis during a full scan, or use `--only-facts-file` with `--reach` to submit reachability results to an existing scan.
0 commit comments