← Back to scan
File as GitHub Issue repo: vivekchand/clawmetry

Push this scan report to vivekchand/clawmetry

Click the green button below to open GitHub’s new-issue form, pre-filled with the report title, summary table, top findings, and an embedded score-card image. No authentication needed — you review on GitHub before submitting. Repobility is credited as the scanner.

Embedded score card image

This image will render at the top of the issue body. Hosted on Repobility, refreshes automatically after re-scans.

Repobility score card

Issue title

LLM memory extraction can be prompt-injected into storing fake facts

Curate findings to include

Pick exactly which findings appear in the issue body. By default the top 5 are included. Uncheck noise, check what matters.

Top 5 (default)
Severity Rule Title File:line
HIGH SEC004 [SEC004] SQL Injection Risk: String interpolation in SQL execution. Allows SQL injection. clawmetry/adapters/hermes.py:212
HIGH SEC020 [SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b… clawmetry/cli.py:586
HIGH AGT002 LLM memory extraction can be prompt-injected into storing fake facts routes/infra.py:83
HIGH AGT002 LLM memory extraction can be prompt-injected into storing fake facts routes/heartbeat.py:283
HIGH AGT002 LLM memory extraction can be prompt-injected into storing fake facts routes/components.py:211
HIGH SEC004 [SEC004] SQL Injection Risk: String interpolation in SQL execution. Allows SQL injection. history.py:239
MED ERR002 [ERR002] Empty Catch Block: Empty catch blocks hide errors. clawmetry/static/js/gw-setup.js:24
MED ERR001 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even… clawmetry/local_store.py:772
MED ERR001 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even… clawmetry/gateway_tap.py:387
MED ERR001 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even… dashboard_claudecode.py:135
MED AUC001 [AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks…
MED AIC003 Duplicated implementation block across source files routes/skills.py:105
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:8880
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:8386
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:8385
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:8384
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:8094
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:7898
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:5731
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:3171
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:3170
MED JRN002 Browser storage is used for session token material clawmetry/static/js/app.js:3169
MED DKR001 Docker final stage has no non-root USER Dockerfile:4
MED AGT007 localStorage write failures are swallowed silently clawmetry/static/js/gw-setup.js:9
MED WEB003 Public web service has no security.txt .well-known/security.txt
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/app.js:145
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/app.js:125
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/app.js:120
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/app.js:90
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/app.js:79
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:444
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:443
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:285
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:128
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:112
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:104
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:92
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:56
MED JRN003 Frontend API reference is not matched by discovered backend routes clawmetry/static/js/alerts.js:54
MED JRN003 Frontend API reference is not matched by discovered backend routes clawhub-plugin/src/service.ts:16
MED AUC002 [AUC002] Low visible authorization coverage in route inventory: Only 23.1% of discovered …
MED AGT016 Codex session log reader may expose prompts or tool-call content clawmetry/approvals.py:21
MED AGT015 Remote install command pipes network code directly to a shell install-clawmetry.sh:3
MED AGT015 Remote install command pipes network code directly to a shell clawhub-plugin/uninstall.sh:96
MED AGT015 Remote install command pipes network code directly to a shell clawhub-plugin/README.md:18
MED AGT015 Remote install command pipes network code directly to a shell README.md:58
MED AGT015 Remote install command pipes network code directly to a shell CHANGELOG.md:108
MED CORE_LARGE_FILES Average file size is 569 lines (recommend <300)
LOW DKR008 .dockerignore misses sensitive defaults .dockerignore
Reset to top 5 49 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `vivekchand/clawmetry`

**Score: 64/100 (B)**  ·  53 findings  ·  scanned 2026-05-15 08:40 UTC  ·  115,516 LOC

| Severity | Count |
|---|---|
| CRITICAL | 0 |
| HIGH | 6 |
| MEDIUM | 42 |
| LOW | 1 |

📊 [Full filterable report](https://repobility.com/scan/b8d6d8db-1a9e-4d5e-8189-6d0592eb62cf/)  ·  ![scorecard](https://repobility.com/scan/b8d6d8db-1a9e-4d5e-8189-6d0592eb62cf/report.png?v=1778834453-s2)

### Top findings

1. **HIGH** `SEC004` — SQL Injection Risk
   `clawmetry/adapters/hermes.py:212` · A03:2021 Injection
2. **HIGH** `SEC020` — Secret Printed to Logs
   `clawmetry/cli.py:586` · A07:2021 Identification & Authentication Failures
3. **HIGH** `AGT002` — LLM memory extraction can be prompt-injected into storing fake facts
   `routes/infra.py:83`
4. **HIGH** `AGT002` — LLM memory extraction can be prompt-injected into storing fake facts
   `routes/heartbeat.py:283`
5. **HIGH** `AGT002` — LLM memory extraction can be prompt-injected into storing fake facts
   `routes/components.py:211`

---

**Security note**: this issue is public. If any flagged finding is a real, exploitable vulnerability, please redirect to your `SECURITY.md` policy or open a [private security advisory](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability) instead. We're happy to close this and re-submit privately.

---

_Filed automatically. Close this issue if not useful — we won't refile. Full report: https://repobility.com/scan/b8d6d8db-1a9e-4d5e-8189-6d0592eb62cf/_
Already filed
This repo publishes a SECURITY.md policy and the scan contains 3 Critical/High security finding(s). Public issue filing would violate coordinated disclosure. Submit privately via the project's security reporting channel.
Megaproject â high spam risk
Could not determine 'vivekchand/clawmetry' star count (GitHub API rate-limited or unreachable). When in doubt about repo size, prefer opening a focused PR or a discussion rather than an issue.

The button opens GitHubâs new-issue page in a new tab. You will see the title + body pre-filled â review, edit if you want, then click GitHubâs "Submit new issue" button. Repobility never posts anything on your behalf.

For real security findings on big repos: use the project's SECURITY.md or private advisory flow instead of a public issue.