Inspector
Cloudron community app transparency reports
Inspect a Cloudron community app `CloudronVersions.json` feed. Repository analysis is derived from the package metadata in that feed, and the report stays intentionally conservative: it surfaces what the package appears to do, but it does not certify safety.
What this checks
CHECKS EXPLAINED
Checks Explained
Metadata links and missing fields
Reads the Cloudron feed metadata, checks whether important links are valid, and notes when required fields are missing.
Dockerfile command patterns
Scans Docker build steps for risky commands such as destructive deletes, world-writable permissions, or remote scripts piped into a shell.
Runtime shell network calls
Looks through startup shell scripts for commands like curl, wget, nc, or ssh that may contact remote systems during runtime.
Privilege escalation and credential leakage
Flags startup-script patterns that touch privileged system paths, invoke sudo, or combine secrets with outbound commands.
Feed vs repo version drift
Compares the version published in CloudronVersions.json with the version found in the package repository when that repository can be identified reliably.
- Metadata links and missing fields
- Dockerfile command patterns
- Runtime shell network calls
- Privilege escalation and credential leakage
- Feed vs repo version drift
Example inputs
https://communityapps.appx.uk/cloudron-notediscovery/CloudronVersions.json
https://raw.githubusercontent.com/BrutalBirdie/cloudron-tachyon-app/refs/heads/master/CloudronVersions.json
https://communityapps.appx.uk/cloudron-ocular/CloudronVersions.json
Generated Report
Hermes Agent
Self-improving AI agent with multi-platform messaging gateway
Score
46/100
46 reached54 still requires deeper inspection
Automated checks can score at most 70/100. The remaining 30 points require deep inspection.
This tool is for informational purposes only. Use at your own risk.
Safety Flags
3
Fail
1
Unsure
6
Pass
Master Info
packageUrl
Not available
Website link
Repository
Not available
Packager
Andreas Düren
packagerUrl
minBox
9.1.0
Version
0.4.94
Tags
chat
Detailed Checklist
packageUrl link is present and well formed when required (7/7)
pass
No `packageUrl` declared. This is valid for packages targeting minBoxVersion below 10.
Website link is present and well formed (7/7)
pass
https://github.com/nousresearch/hermes-agent
Metadata and README links avoid insecure HTTP (0/7)
fail
http://camofox.internal:9377
http://127.0.0.1:9377`
http://user:pass@proxy.example.com:8080
Metadata and README links avoid URL shorteners (7/7)
pass
No shortener links found.
Cloudron feed version matches the repository manifest (7/7)
pass
Feed and repo both report 0.4.94.
Repository content was fetched for static analysis (7/7)
pass
https://git.due.ren/andreas/hermes-cloudron @ 4f4d4ff8666ccc4ff84c020f6849efe17929465d
Dockerfile scan did not detect clearly suspicious commands (0/7)
fail
Dockerfile:10 System package installation found. Review whether all packages are justified.
Dockerfile:58 System package installation found. Review whether all packages are justified.
Dockerfile:165 System package installation found. Review whether all packages are justified.
Dockerfile:169 Remote script piped directly into a shell in Dockerfile.
Runtime shell scripts avoid suspicious outbound network calls (4/7)
unsure
camofox-server.sh:103 Network-capable command found in a runtime shell script.
start.sh:665 Network-capable command found in a runtime shell script.
Runtime shell scripts avoid privilege escalation patterns (0/7)
fail
hermes-cloudron-wrapper.sh:83 Privileged command or direct system-path modification detected in startup script.
start.sh:1365 Privileged command or direct system-path modification detected in startup script.
tests/e2e_profile_supervision.sh:90 Privileged command or direct system-path modification detected in startup script.
Runtime shell scripts avoid credential leakage patterns (7/7)
pass
No credential leakage patterns found in scanned shell scripts.
Raw Findings
Flagged lines are highlighted directly in the code snippet.
12 findings
Dockerfile:10
low
System package installation found. Review whether all packages are justified.
8ARG SQLITE_SHA256=0e9483900e92cd5de8fd48d16bf9200145a61f7fd5be542a5ac81d8a9516eb9c9RUN apt-get -o Acquire::Retries=3 update && \10 apt-get -o Acquire::Retries=3 install -y --no-install-recommends \11 build-essential ca-certificates curl && \12 rm -rf /var/lib/apt/lists/* && \
Dockerfile:58
low
System package installation found. Review whether all packages are justified.
56# Install Python 3.12 (Noble default), venv, pip, git, sync tools,57# and browser runtime dependencies for agent-browser screenshots.58RUN apt-get update && apt-get install -y \59 python3 \60 python3-venv \
Dockerfile:165
low
System package installation found. Review whether all packages are justified.
163 curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list | tee /etc/apt/sources.list.d/tailscale.list && \164 apt-get update && \165 apt-get install -y tailscale && \166 rm -rf /var/lib/apt/lists/*167
Dockerfile:169
high
Remote script piped directly into a shell in Dockerfile.
167168# Install uv (fast Python package manager)169RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \170 ln -sf /root/.local/bin/uv /usr/local/bin/uv && \171 ln -sf /root/.local/bin/uvx /usr/local/bin/uvx
camofox-server.sh:103
medium
Network-capable command found in a runtime shell script.
101 exit 1102 fi103 if curl -fsS --max-time 2 "http://127.0.0.1:${CAMOFOX_PORT}/health" 2>/dev/null | \104 /usr/local/bin/python3 -c 'import json,sys; h=json.load(sys.stdin); raise SystemExit(0 if h.get("ok") is True and h.get("browserRunning") is True else 1)' 2>/dev/null; then105 ready=true
hermes-cloudron-wrapper.sh:83
high
Privileged command or direct system-path modification detected in startup script.
81repair_runtime_permissions8283exec sudo -u cloudron -E env \84 HOME="${HOME}" \85 HERMES_HOME="${HERMES_HOME}" \
start.sh:665
medium
Network-capable command found in a runtime shell script.
663write_env TERMINAL_SSH_USER ""664write_env TERMINAL_SSH_PORT "22"665write_env TERMINAL_SSH_KEY "~/.ssh/id_rsa"666write_env TERMINAL_SSH_PERSISTENT ""667echo "# Docker/Container backend" >> "${ENV_FILE}.new"
start.sh:1365
high
Privileged command or direct system-path modification detected in startup script.
1363 if [ -z "${chrome_path}" ] || [ ! -x "${chrome_path}" ]; then1364 echo "=> Installing local Chrome runtime for Hermes browser tools..."1365 (cd /app/code/hermes-agent && sudo -u cloudron -E env HOME="${HERMES_DATA}" npm_config_yes=true npx --yes agent-browser install)1366 chrome_path="$(find "${HERMES_DATA}/.agent-browser/browsers" -path '*/chrome' -type f 2>/dev/null | head -n 1 || true)"1367 fi
tests/e2e_profile_supervision.sh:90
high
Privileged command or direct system-path modification detected in startup script.
88fi89"${DOCKER}" exec --user hermes-ute "${CONTAINER}" rm /run/hermes-gateway-locks/ute-owned-test.lock90if "${DOCKER}" exec --user cloudron "${CONTAINER}" /usr/bin/sudo -n /app/code/hermes-profile-service.sh status 'nancy;touch_/tmp/pwn' >/dev/null 2>&1; then91 echo "validated root helper accepted an unsafe profile name" >&292 exit 1
metadata
high
Insecure HTTP link found: http://camofox.internal:9377
metadata
high
Insecure HTTP link found: http://127.0.0.1:9377`
metadata
high
Insecure HTTP link found: http://user:pass@proxy.example.com:8080
