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.

openhuman

https://github.com/tinyhumansai/openhuman · scanned 2026-05-16 19:45 UTC (23 hours, 38 minutes ago) · 10 languages

962 findings (72 legacy + 890 scanner) 8/10 scanners ran Scanner says 79 (higher by 5)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 23 hours, 38 minutes ago · v2 · 517 findings from 2 sources. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.

JSON
Severity distribution — click a segment to filter
Active filters: layer: security × excluding tests × Reset all
Scan summary Repository scanned at 78.9/100 with 100.0% coverage. It contains 5685 nodes across 30 cross-layer flows, written primarily in mixed languages. Engine surfaced 445 findings — concentrated in quality (160), cicd (147), frontend (77). Risk profile is high: 0 critical, 3 high, 86 medium. Recommended next step: open the quality layer findings first — that's where the highest-impact wins live.

Showing 16 of 517 findings. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

low Legacy security credential_exposure conf 1.00 [SEC010] Cloud Provider Token: Cloud provider or SaaS API token found in source code.
Remove immediately and rotate the token. Use environment variables.
src/openhuman/memory/tree/jobs/redact.rs:164 credential_exposurelegacy
low Legacy security credential_exposure conf 1.00 [SEC010] Cloud Provider Token: Cloud provider or SaaS API token found in source code.
Remove immediately and rotate the token. Use environment variables.
src/openhuman/memory/safety/mod.rs:410 credential_exposurelegacy
critical Legacy security credential_exposure conf 1.00 [SEC019] Raw Authorization Token in Example: A real-looking API token appears in an Authorization-style header or service-key example. Use placeholders in docs and CI snippets; never paste live tokens into source, comments, or README files.
Replace the value with a placeholder, revoke or rotate the exposed token, and store live values only in a masked secret store.
src/openhuman/memory/tree/jobs/redact.rs:137 credential_exposurelegacy
critical Legacy security credential_exposure conf 1.00 [SEC019] Raw Authorization Token in Example: A real-looking API token appears in an Authorization-style header or service-key example. Use placeholders in docs and CI snippets; never paste live tokens into source, comments, or README files.
Replace the value with a placeholder, revoke or rotate the exposed token, and store live values only in a masked secret store.
src/openhuman/memory/safety/mod.rs:351 credential_exposurelegacy
high Legacy security credential_exposure conf 1.00 [SEC018] AI-Agent Secret Retrieval Command: A command that prints or embeds credentials was committed. AI coding agents often add these commands while trying to help with setup or deployment, but they can leak live secrets through logs, shell history, CI output, or documentation.
Remove the command, use a secret manager or CI masked secret, and rotate any credential that may have been printed.
scripts/act-staging.sh:127 credential_exposurelegacy
high Legacy security credential_exposure conf 1.00 [SEC018] AI-Agent Secret Retrieval Command: A command that prints or embeds credentials was committed. AI coding agents often add these commands while trying to help with setup or deployment, but they can leak live secrets through logs, shell history, CI output, or documentation.
Remove the command, use a secret manager or CI masked secret, and rotate any credential that may have been printed.
scripts/act-build-desktop.sh:72 credential_exposurelegacy
high Legacy security auth conf 0.78 Consent is collected in UI without visible backend audit persistence
Persist consent as a backend record with subject, actor, purpose, scope, legal text version, timestamp, IP address, user agent, and revocation state.
app/src/components/composio/ComposioConnectModal.tsx:741 authlegacy
high Legacy security auth conf 0.83 Secret-like setting is echoed into a password input value
Never prefill secret fields with stored values. Show a masked status such as configured/not configured, require explicit rotation to replace the value, and return the raw key only once at creation time.
app/src/components/settings/panels/ComposioPanel.tsx:291 authlegacy
high Legacy security auth conf 0.83 Secret-like setting is echoed into a password input value
Never prefill secret fields with stored values. Show a masked status such as configured/not configured, require explicit rotation to replace the value, and return the raw key only once at creation time.
app/src/components/settings/panels/AIPanel.tsx:1285 authlegacy
medium Legacy security auth conf 0.92 [AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks but does not define .repobility/access.yml or equivalent authorization documentation.
Add .repobility/access.yml mapping routes to anonymous, authenticated, owner, admin, and super_admin. Keep business-specific rules in the repo so CI can enforce them.
authlegacy
medium Legacy security auth conf 0.74 [AUC002] Low visible authorization coverage in route inventory: Only 18.2% of discovered routes show nearby authentication, authorization, middleware, or public-route evidence.
Review the access matrix and add explicit framework auth declarations or policy-file exceptions for intentionally public routes.
authlegacy
medium Legacy security injection conf 0.50 [SEC005] Command Injection Risk: Unsafe shell execution or eval of user input.
Use subprocess with shell=False and a list of args. Never eval user input.
app/src/pages/conversations/utils/workerThreadRef.ts:34 injectionlegacy
medium Legacy security path_traversal conf 1.00 [SEC012] ZipSlip — Archive Path Traversal: Archive extraction without path validation allows writing files outside the target directory.
Validate extracted paths with os.path.realpath() and ensure they stay within the target directory.
app/scripts/e2e-run-session.sh:501 path_traversallegacy
medium Legacy security auth conf 0.82 Browser storage is used for session token material
Prefer httpOnly, Secure, SameSite cookies or short-lived in-memory tokens. Avoid persistent browser storage for access, refresh, ID, or partner session tokens.
app/src/store/coreModeSlice.ts:66 authlegacy
medium Legacy security auth conf 0.82 Browser storage is used for session token material
Prefer httpOnly, Secure, SameSite cookies or short-lived in-memory tokens. Avoid persistent browser storage for access, refresh, ID, or partner session tokens.
app/src/utils/configPersistence.ts:219 authlegacy
medium Legacy security auth conf 0.82 Browser storage is used for session token material
Prefer httpOnly, Secure, SameSite cookies or short-lived in-memory tokens. Avoid persistent browser storage for access, refresh, ID, or partner session tokens.
app/src/utils/configPersistence.ts:202 authlegacy
{# ── 2026-05-17 Round 14: AI-agent bridge footer ────────────────────── Discoverability: the /agents/voting/ guide + MCP manifest exist but aren't linked from anywhere users actually land. Small, opt-in footer. #}
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/fc621168-a7ef-4013-b97a-0b4d573d408e/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/fc621168-a7ef-4013-b97a-0b4d573d408e/

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.