Caveat verdict

researchvault

88
🟢 Trusted
No high-risk patterns surfaced by the deep scan — automated capability review, not behavioral proof.

Local-first research orchestration engine using SQLite with optional search API keys (Brave, Serper, SearXNG); all listed environment variables are optional and scoped to search API access consistent with the declared research purpose.

⚠ Flagged for review — coarse, uncorroborated signal, not a confirmed exploit. Review the config yourself before installing.

Automated static analysis — not a human review. Caveat flags capabilities, not confirmed intent, and can produce false positives. Disagree with this verdict? Use Dispute below.

0
security
70
transparency
70
maintenance

Permission integrity

Installs packages at runtime — transitive dependencies are not auditable

package_install

Findings (11)

Pattern match high

Pipe to bash — executes piped content as shell commands

scripts/core.py · prose · downgraded · |bash

Pattern match high

Possible hardcoded credential

start_portal.sh · prose · downgraded · token="$(tr -d

Pattern match high

Accesses sensitive system files

tests/exploit_ssrf.py · prose · downgraded · /etc/passwd

Pattern match medium

HTTP request to bare IP address — common in malicious payloads

portal/backend/app/main.py · prose · downgraded · http://127.0.0.1

Pattern match medium

subprocess execution — runs system commands from Python

portal/backend/app/vault_exec.py · prose · downgraded · subprocess.run(

Pattern match medium

Dynamic import() — loads module at runtime

portal/frontend/tailwind.config.js · prose · downgraded · import('

Pattern match low

Python os.getenv — reads environment variable

portal/backend/app/auth.py · prose · downgraded · os.getenv(

Pattern match low

Python os.environ.get — reads environment variable

scripts/core.py · prose · downgraded · os.environ.get(

Pattern match low

Popular HTTP library — network access

scripts/synthesis.py · prose · downgraded · got

Pattern match low

Blob URL — may embed executable content

scripts/synthesis.py · prose · downgraded · blob:

Pattern match low

Python urllib.request — network access

start_portal.sh · prose · downgraded · urllib.request

Why the tier is capped

Execution sink present in raw bytes (Hard Floor: class A/B/D). Final tier capped at Caution — cannot be lifted by any downgrade, example-payload opt-in, or allowlist.

Permissions & capabilities

No declared permissions — minimal attack surface.

package_install

Is this flag fair?

Check another skill Browse the registry Auditing your own skills or configs? Use the API