unisound-pe-missing-positive

ReviewAudited by ClawScan on May 16, 2026.

Overview

This is a coherent medical-record quality-check skill, but users should know it sends selected medical text to the HiVoice model API using an app key and can optionally save preprocessed text locally.

Install/use this only if you are allowed to process the medical records with the configured HiVoice MaaS endpoint. De-identify patient text before use, keep the app key secret, avoid untrusted --base URLs, verify any shared preprocessing helper, and do not enable --save-prepared unless you are comfortable storing a local copy of the record text.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Medical record content may leave the local machine and be processed by the configured HiVoice-compatible model endpoint.

Why it was flagged

The skill posts LLM messages containing extracted medical-record fields to the HiVoice MaaS API. This is disclosed and central to the skill, but it is still a sensitive clinical-data transfer.

Skill content
DEFAULT_LLM_BASE = "https://maas-api.hivoice.cn/v1" ... resp = _http_post(url, payload, headers, timeout=timeout)
Recommendation

Use only de-identified records, confirm the endpoint and data-handling agreement are appropriate, and avoid overriding --base to an untrusted URL.

What this means

The app key grants access to the model service and should be treated as a secret.

Why it was flagged

The skill uses a user-provided app key as a bearer token for the LLM API. The behavior is expected for this integration, but the registry metadata declares no primary credential.

Skill content
headers = {"Authorization": f"Bearer {appkey}"}
Recommendation

Provide a scoped key only at runtime, do not store it in the repository, and rotate it if it may have been exposed.

What this means

Running the multi-format path depends on whatever _shared/doc-preprocess implementation is present in the local skills tree.

Why it was flagged

The multi-format entrypoint imports a shared preprocessing module outside the listed skill files. SKILL.md discloses this dependency, but that helper is not part of the provided manifest.

Skill content
_preprocess_dir = SKILLS_ROOT / "_shared" / "doc-preprocess" / "scripts" ... from preprocess import
Recommendation

Use a trusted copy of the shared preprocessing helper, or inspect it before using run.py for PDF/Office/CSV/JSON inputs.

What this means

If --save-prepared is used, a local file may contain sensitive medical-record text.

Why it was flagged

Although the documentation says inputs and intermediate results are not persisted, this user-selected debugging option writes the preprocessed record text to disk. The option is disclosed, but users should understand the privacy exception.

Skill content
parser.add_argument("--save-prepared", action="store_true", help="保存预处理后的文本,便于调试。") ... prep_path.write_text(record_text, encoding="utf-8")
Recommendation

Do not use --save-prepared with sensitive records unless the output directory is protected, and delete the prepared file when it is no longer needed.

What this means

A crafted or unusual record could cause an inaccurate “无缺陷/有缺陷” result.

Why it was flagged

User-supplied record fields are interpolated directly into the same LLM user message as the task instructions, so instructions embedded in a record could influence the model's QC answer.

Skill content
【病历】\n体格检查:{pe}\n诊断:{dx}\n【质控结果】
Recommendation

Treat outputs as advisory, have clinicians review results, and consider stronger prompt separation that clearly marks record text as data only.