ct-registry@1.0.1
VERIFIED· install onlyPublisher claims: "Cross-source search of global clinical-trial registries (ClinicalTrials.gov, CDE/ChiCTR/ISRCTN/DRKS/WHO ICTRP, PubChem), normalizes and aggregates phase/status/sponsor/timeline/competitor landscape into JSON/Markdown for trial planning, de-duplication, control-design benchmarking, and competitive intelligence. / 跨源检索全球临床试验注册库(ClinicalTrials.gov、CDE/ChiCTR/ISRCTN/DRKS/WHO ICTRP、PubChem),归一化聚合分期/状态/申办方/时间线/竞品格局,产出 JSON / Markdown,用于立项查重、对照设计与竞品格局分析。" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-15 and scored it 83/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
subprocess.run(cmd, check=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.…parately). - **Concurrency constraint (P1-7):** the quota counter `config/usage.json` and the output directory are shared files inside the skill directory; `usage_guard.py` serializes read/write via an advisory file lock. Run **one skill p…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.… (P0-A, local-only):** `--track` writes normalized results to `registry_snapshot.json`; `--diff <snapshotA> <snapshotB>` compares two `normalized.json` by NCT set and outputs `status_delta` (added / removed / status-changed / synonym-spell…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.# All palette / format / layout / chart / status logic lives inFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.subprocess.run(cmd, capture_output=True, text=True, timeout=timeout + 90)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.proc = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.kill its sibling threads.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.rc = subprocess.run(ep, capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.p = subprocess.run(cmd, stdout=None, stderr=subprocess.PIPE)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.out = subprocess.check_output(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.# so the fabrication hard-gate would false-kill valid results.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.