| name | syncable-security |
|---|---|
| description | Scan code for leaked secrets, credentials, API keys, hardcoded passwords, and insecure code patterns using the Syncable CLI sync-ctl security scanner |
Perform security analysis on a codebase: detect leaked secrets (API keys, tokens, passwords, private keys), identify insecure code patterns, and analyze configuration security. Returns findings with severity levels, file locations, and remediation guidance.
sync-ctlbinary installed and on PATH- Agent has access to the project directory
sync-ctl security <PATH> --mode balanced --agentAlways pass --mode explicitly. Choose based on context:
| Mode | When to use | Speed |
|---|---|---|
lightning |
Quick check, only critical files (.env, configs) | Fastest |
fast |
Smart sampling, good for large repos during development | Fast |
balanced |
Default choice. Good coverage with optimizations | Medium |
thorough |
Pre-deployment reviews, PR security checks | Slow |
paranoid |
Compliance audits, production security reviews | Slowest |
| Flag | Purpose |
|---|---|
--mode {lightning|fast|balanced|thorough|paranoid} |
Scan depth (always specify) |
--agent |
Compressed output for agent consumption (always use when processing results) |
--include-low |
Include low-severity findings (off by default) |
--no-secrets |
Skip secrets detection (only code patterns) |
--no-code-patterns |
Skip code pattern analysis (only secrets) |
--fail-on-findings |
Exit with error code if findings exist (for CI) |
--output <FILE> |
Write report to file |
Priority for reporting to user:
- Critical findings first (leaked secrets, hardcoded credentials)
- High findings (insecure patterns)
- Summary with score
- Remediation steps for top findings
When you use --agent, the output is a compressed summary — NOT the full data. Only critical and high findings are inline. To get medium/low details, you MUST use sync-ctl retrieve.
What's in the compressed output:
summary— counts by severitycritical_issues— full details for every critical findinghigh_issues— first 10 high-severity findingspatterns— deduplicated medium/low findings as counts only (NO individual details)full_data_ref— reference ID for the full stored data
IMPORTANT: Do NOT try to extract medium/low details from the compressed output. Use retrieve instead.
# Get medium-severity findings
sync-ctl retrieve <ref_id> --query "severity:medium"
# Get findings for a specific file
sync-ctl retrieve <ref_id> --query "file:src/auth.rs"
# Get findings by rule code
sync-ctl retrieve <ref_id> --query "code:hardcoded-secret"Results are paginated (default 20). Use --limit N --offset M for more.
Available query filters: severity:critical|high|medium|low|info, file:<path>, code:<id>
| Error | Cause | Action |
|---|---|---|
No such file or directory |
Invalid path | Ask user to verify the project path |
| Very slow scan | Large repo with thorough/paranoid mode |
Suggest trying balanced or fast mode first |
| No findings | Clean project or scan mode too light | If lightning/fast, suggest re-running with balanced for deeper coverage |
Quick secrets check on current directory:
sync-ctl security . --mode balanced --agentDeep pre-deploy audit:
sync-ctl security . --mode paranoid --agentSecrets-only scan (skip code patterns):
sync-ctl security . --mode thorough --no-code-patterns --agentSave report to file:
sync-ctl security . --mode thorough --agent --output security-report.json