Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.

sunglasses-dev/sunglasses

https://github.com/sunglasses-dev/sunglasses · scanned 2026-06-16 00:26 UTC (2 months, 2 weeks ago)

37 raw signals (0 security + 37 graph)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 2 months, 2 weeks ago · v1 · 36 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all
Corpus Intelligence Cross-corpus context (cohort percentile, top patterns, fix plan) is shown only on repositories you own. Sign up and connect your repo to view it.
Scan summary Repository scanned at 81.6/100 with 88.9% coverage. It contains 1463 nodes across 0 cross-layer flows, written primarily in mixed languages. Engine surfaced 37 findings — concentrated in software (17), quality (11), security (7). Risk profile is high: 1 critical, 5 high, 2 medium. Recommended next step: open the software layer findings first — that's where the highest-impact wins live.

Showing 29 of 36 actionable findings. 37 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

critical System graph security security conf 1.00 Insecure pattern 'private_key_in_repo' in attack-db/generate_db.py:67
Found a known-risky pattern (private_key_in_repo). Review and replace if possible.
attack-db/generate_db.py:67 Private key in repo
high System graph security security conf 1.00 Insecure pattern 'eval_used' in attack-db/attacks/agent-workflow-security/GLS-AW-048-guardrail-evaluation-fixture-tampering.json:27
Found a known-risky pattern (eval_used). Review and replace if possible.
attack-db/attacks/agent-workflow-security/GLS-AW-048-guardrail-evaluation-fixture-tampering.json:27 Eval used
high System graph security security conf 1.00 Insecure pattern 'eval_used' in attack-db/attacks/agent-workflow-security/GLS-AW-197-fake-ground-truth-evaluation-record-planting.json:29
Found a known-risky pattern (eval_used). Review and replace if possible.
attack-db/attacks/agent-workflow-security/GLS-AW-197-fake-ground-truth-evaluation-record-planting.json:29 Eval used
high System graph security security conf 1.00 Insecure pattern 'eval_used' in attack-db/attacks/command-injection/GLS-CI-001-dangerous-shell-commands.json:25
Found a known-risky pattern (eval_used). Review and replace if possible.
attack-db/attacks/command-injection/GLS-CI-001-dangerous-shell-commands.json:25 Eval used
high System graph security security conf 1.00 Insecure pattern 'eval_used' in attack-db/attacks/retrieval-poisoning/GLS-RP-257-forged-benchmark-appendix-trust-rerank.json:14
Found a known-risky pattern (eval_used). Review and replace if possible.
attack-db/attacks/retrieval-poisoning/GLS-RP-257-forged-benchmark-appendix-trust-rerank.json:14 Eval used
high System graph security security conf 1.00 Insecure pattern 'eval_used' in attack-db/attacks/tool-output-poisoning/GLS-TOP-332-forged-evaluation-trace-execution-policy-evade.json:14
Found a known-risky pattern (eval_used). Review and replace if possible.
attack-db/attacks/tool-output-poisoning/GLS-TOP-332-forged-evaluation-trace-execution-policy-evade.json:14 Eval used
medium System graph security security conf 1.00 Insecure pattern 'subprocess_shell_true' in attack-db/attacks/command-injection/GLS-CI-004-unquoted-shell-interpolation-injection.json:18
Found a known-risky pattern (subprocess_shell_true). Review and replace if possible.
attack-db/attacks/command-injection/GLS-CI-004-unquoted-shell-interpolation-injection.json:18 Subprocess shell true
medium System graph quality Integrity conf 1.00 Network/subprocess call without timeout or try/except — fp_corpus_data.py:61
`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries.
runtime safetyRobustness
low System graph quality Debug conf 1.00 Debug logging residue appears in source files
Found 202 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup.
CleanupRepo hardeningGenerated repo pattern
low System graph cicd CI/CD security conf 1.00 GitHub Action is tag-pinned rather than SHA-pinned
actions/setup-python@v5 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
.github/workflows/pattern-integrity.yml:30 CI/CD securitySupply chainGithub actions
low System graph quality Integrity conf 1.00 2 occurrences Near-duplicate function bodies in 2 places
Functions with the same first-5-line body hash: sunglasses/cli.py:cmd_demo_live, sunglasses/cli.py:cmd_demo This is *the* AI-coder failure mode (4× more duplication in vibe-coded repos — see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate.
2 occurrences
repo-level (2 hits)
duplicatesduplication
low System graph software Dead code conf 1.00 Possibly dead Python function: cmd_config
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/cli.py:801
low System graph software Dead code conf 1.00 Possibly dead Python function: cmd_demo
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/cli.py:654
low System graph software Dead code conf 1.00 Possibly dead Python function: cmd_info
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/cli.py:462
low System graph software Dead code conf 1.00 Possibly dead Python function: cmd_report
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/cli.py:775
low System graph software Dead code conf 1.00 Possibly dead Python function: extract_from_bytes
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/extractors/image.py:85
low System graph software Dead code conf 1.00 Possibly dead Python function: extract_from_bytes
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/extractors/qr.py:77
low System graph software Dead code conf 1.00 Possibly dead Python function: handle_initialize
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/mcp.py:50
low System graph software Dead code conf 1.00 Possibly dead Python function: handle_tools_call
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/mcp.py:130
low System graph software Dead code conf 1.00 Possibly dead Python function: handle_tools_list
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/mcp.py:64
low System graph software Dead code conf 1.00 Possibly dead Python function: s1_schema
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
pattern_forge.py:133
low System graph software Dead code conf 1.00 Possibly dead Python function: s2_keywords
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
pattern_forge.py:181
low System graph software Dead code conf 1.00 Possibly dead Python function: s3_fpgate
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
pattern_forge.py:208
low System graph software Dead code conf 1.00 Possibly dead Python function: s4_dedup
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
pattern_forge.py:277
low System graph software Dead code conf 1.00 Possibly dead Python function: s5_idnorm
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
pattern_forge.py:297
low System graph software Dead code conf 1.00 Possibly dead Python function: scan_email
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/scanner.py:70
low System graph software Dead code conf 1.00 Possibly dead Python function: scan_image
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/extractors/image.py:231
low System graph software Dead code conf 1.00 Possibly dead Python function: scan_qr
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
sunglasses/extractors/qr.py:99
low System graph quality Provenance conf 1.00 Shallow git history limits provenance confidence
The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence.
Git historyGenerated repo pattern
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/1f506e91-e3ed-4ed3-8b5b-d06c716ea151/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/1f506e91-e3ed-4ed3-8b5b-d06c716ea151/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.