Comprehensive security scan with full reachability analysis. Builds call graphs to determine which vulnerabilities are actually exploitable in your code. Use when the user says "full scan", "deep scan", "reachability scan", "which vulns are actually reachable", "endor scan full", or before a release. Takes 2-5 minutes. Do NOT use for quick daily scans (/endor-scan) or checking individual packages (/endor-check).
94
92%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Comprehensive security scan with full call graph analysis to identify exploitable vulnerabilities.
| Feature | Quick Scan | Full Scan |
|---|---|---|
| Speed | Seconds | Minutes |
| Reachability | No | Full call graph |
| Call Paths | No | Yes |
| Prioritization | Severity only | Severity + reachability |
| Use Case | Daily dev | Pre-release, security reviews |
Cache file: .endor/scan-full-results.json (relative to repo root)
Rules:
.endor/ if needed.finding_details, fetch via get_resource and update cache..endor/ to .gitignore if not already present.{
"scan_timestamp": "ISO-8601",
"scan_path": "/absolute/path",
"scan_types": ["vulnerabilities", "dependencies", "secrets", "sast"],
"scan_options": { "quick_scan": false },
"raw_results": { ... },
"finding_details": { "uuid-1": { ... }, "uuid-2": { ... } }
}Detect languages and manifest files (same as /endor-scan).
Full reachability analysis builds a call graph of your entire codebase. This typically takes 2-5 minutes depending on project size.
Use scan MCP tool:
path: absolute path to repository rootscan_types: ["vulnerabilities", "dependencies", "secrets", "sast"]scan_options: { "quick_scan": false }CLI fallback (only if MCP genuinely unavailable):
npx -y endorctl scan --path <ABSOLUTE_PATH> --dependencies --sast --secrets --output-type json 2>/dev/null > /tmp/endor-full.jsonOn error, report exact error. Do not write cache on failure.
After successful scan: save to cache, add .endor/ to .gitignore, then fetch details for each finding UUID via get_resource (resource_type: Finding) and append to finding_details in cache.
For reachability tag interpretation, read references/reachability-tags.md.
| Priority | Dependency Tag | Function Tag | Action |
|---|---|---|---|
| P0 - Fix Now | REACHABLE_DEPENDENCY | REACHABLE_FUNCTION | Actively exploitable |
| P1 - Investigate | REACHABLE_DEPENDENCY | POTENTIALLY_REACHABLE_FUNCTION | Likely exploitable, verify |
| P2 - Plan Fix | REACHABLE_DEPENDENCY | UNREACHABLE_FUNCTION | Dep used, vuln func not called |
| P3 - Track | UNREACHABLE_DEPENDENCY | UNREACHABLE_FUNCTION | Not used, lowest risk |
| P4 - Ignore | (PHANTOM) | Any | Not installed |
When dep tag present but no function tag, classify on dep tag alone (function reachability unknown).
Present: scanned path, languages, "Full Reachability Analysis", timestamp, reachability summary table with counts per category, key insight ("X of Y vulns have confirmed reachable call path"), then P0-P3 finding tables (Package, Advisory, Severity, Description).
/endor-fix {top-advisory} - fix reachable critical/endor-explain {advisory} - explain a finding/endor-findings reachable - view all findings/endor-upgrade-impact {package} - upgrade with impact analysisFor data source policy, read references/data-sources.md.
Show exact error messages — do not guess at causes.
| Error | Action |
|---|---|
| Auth error | Complete browser login, retry. If persistent, /endor-setup |
| Build fails | Fix build errors first, or use /endor-scan (no build required) |
| Timeout | Scan specific subdirectory |
| MCP unavailable | /endor-setup. CLI fallback only if user confirms |
| Unknown error | Show exact error, suggest /endor-troubleshoot |
344e7ff
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.