Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Med Info

v0.2.3

Label-backed medication answers with citations and traceable IDs. RxCUI/NDC/set_id, key label sections, optional recalls/shortages/FAERS/interactions.

0· 1.2k·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for duncandobbins/med-info.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Med Info" (duncandobbins/med-info) from ClawHub.
Skill page: https://clawhub.ai/duncandobbins/med-info
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install med-info

ClawHub CLI

Package manager switcher

npx clawhub@latest install med-info
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the included code and docs: med_info.py queries RxNorm, openFDA, DailyMed/PubChem and returns label-backed summaries with identifiers and optional safety context. Required binaries (python3) and optional OPENFDA_API_KEY align with the declared capabilities; there are no unrelated credentials or surprising third-party services.
Instruction Scope
SKILL.md instructs running the included Python script with flags and warns not to include PHI; the runtime instructions and examples stay within the stated domain (label lookups, recalls, shortages, FAERS aggregates). The code shows explicit escaping of openFDA query values (mitigates query-injection risk). One minor mismatch: the script honors MED_INFO_CACHE_DIR to change the cache location, but SKILL.md does not document this environment variable; the tool also writes cache files by default (~/.cache/med-info).
Install Mechanism
There is no install spec and no external installer — the package is distributed as source scripts. No downloads from arbitrary URLs or archive extraction occur during install. Execution will fetch public API data at runtime and create a local cache directory (default in the user's home), which is expected behaviour for this tool.
Credentials
The skill has no required credentials and only an optional OPENFDA_API_KEY to increase rate limits, which is proportional. As noted, it also reads MED_INFO_CACHE_DIR to override cache location (not declared in the SKILL.md's 'Requirements'), and prints/redacts URLs when asked. No other secret-like env vars are requested.
Persistence & Privilege
The skill is not always-enabled and does not request elevated platform privileges. It writes its own cache under the invoking user's home by default but does not alter other skills or system-wide agent settings.
Scan Findings in Context
[virus_total_suspicious_flag_history] unexpected: findings.md mentions an earlier VirusTotal 'Suspicious' flag related to openFDA query injection; the code includes deliberate escaping (openfda_escape_value / openfda_qstr) and a comment explicitly addressing injection mitigation (version v0.2.1 onward). This history is relevant but the current code shows a mitigation.
Assessment
This skill appears to implement what it claims: it queries public, authoritative APIs and produces label-backed medication summaries. Before installing or running it, consider the following: 1) It will create a local cache (default ~/.cache/med-info) and can be redirected with MED_INFO_CACHE_DIR — set or review this if you don’t want files in your home directory. 2) OPENFDA_API_KEY is optional (only needed for higher rate limits); no other secrets are required. 3) The code imports subprocess (common for utilities) but the visible code uses safe urllib requests and explicit escaping for openFDA queries; if you want extra assurance, grep the full scripts for subprocess.*Popen|call|run and shell=True or other exec patterns before running. 4) Avoid sending any PHI to the tool (SKILL.md warns this) and verify any high-stakes clinical decision against the original official label. If you need higher assurance, run the script in an isolated environment or container and review the full med_info.py file for any remaining unreviewed logic.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

💊 Clawdis
OSmacOS · Linux
Binspython3
latestvk978b7yjf19rwsbpzr82y5eh9981xv8g
1.2kdownloads
0stars
6versions
Updated 23h ago
v0.2.3
MIT-0
macOS, Linux

med-info

Medication answers you can cite.

med-info turns a drug name (or RxCUI, NDC, SPL set_id) into a label-backed summary with traceable identifiers and source links.

Use it when you want “show your work” medication information for notes, training, QA, internal docs, or agent workflows.

Not medical advice.

What you get

  • Authoritative sources first: FDA labeling via openFDA + DailyMed, identifiers via RxNorm/RxClass.
  • Citations + traceability: RxCUI, NDC (product/package), SPL set_id, effective dates, and URLs.
  • The sections you actually need: boxed warning, indications, dosing, contraindications, warnings, interactions, adverse reactions.
  • Optional safety context (opt-in flags): recalls, shortages, FAERS aggregates, interactions, drug class, hazardous drug flag, REMS linkouts, Orange Book, Purple Book.
  • Automation friendly: --json output for pipelines.

Privacy

Do not include PHI. Query by drug name or identifiers only.

Quickstart

cd {baseDir}
python3 scripts/med_info.py "Eliquis" --brief

Common workflows:

# Only the sections you care about
python3 scripts/med_info.py "Eliquis" --sections contraindications,drug_interactions --brief

# Find keyword hits in label text (fast way to answer "does the label mention X?")
python3 scripts/med_info.py "Eliquis" --find ritonavir --find CYP3A4 --find P-gp --find-max 8

# Deterministic lookups by identifier (best for reproducibility)
python3 scripts/med_info.py "70518-4370-0"   # NDC (package)
python3 scripts/med_info.py "70518-4370"     # NDC (product)
python3 scripts/med_info.py "05999192-ebc6-4198-bd1e-f46abbfb4f8a"  # SPL set_id

Disambiguation (when there are multiple labels)

python3 scripts/med_info.py "metformin" --candidates
python3 scripts/med_info.py "metformin" --candidates --pick 2 --brief
python3 scripts/med_info.py "metformin" --set-id "05999192-ebc6-4198-bd1e-f46abbfb4f8a"

Optional add-ons

# Pharmacist-friendly output bundle
python3 scripts/med_info.py "Eliquis" --pharmacist --brief

# Safety signals and operational context (opt-in)
python3 scripts/med_info.py "metformin" --recalls --brief
python3 scripts/med_info.py "amphetamine" --shortages --brief
python3 scripts/med_info.py "Eliquis" --faers --faers-max 10
python3 scripts/med_info.py "Eliquis" --interactions --interactions-max 20
python3 scripts/med_info.py "Eliquis" --rxclass
python3 scripts/med_info.py "cyclophosphamide" --hazardous
python3 scripts/med_info.py "isotretinoin" --rems

# Reference datasets
python3 scripts/med_info.py "adalimumab" --purplebook
python3 scripts/med_info.py "metformin" --orangebook

# Chemistry (best-effort)
python3 scripts/med_info.py "ibuprofen" --chem

Output shaping

python3 scripts/med_info.py "ibuprofen" --json
python3 scripts/med_info.py "Eliquis" --brief --sections all
python3 scripts/med_info.py "Eliquis" --print-url --brief   # prints queried URLs (api_key redacted)

Sources (high level)

  • openFDA: drug labels, NDC directory, recalls/enforcement, shortages, FAERS
  • RxNorm / RxClass (RxNav): normalization and drug classes
  • DailyMed: SPL label history and media
  • MedlinePlus Connect: patient-friendly summaries (links)
  • Orange Book and Purple Book: best-effort context

Safety notes

  • For clinical decisions, verify against the full official label.
  • Input is treated as untrusted, openFDA search strings are escaped to prevent query injection.

Keys and rate limits

Works without any keys. Optionally:

  • OPENFDA_API_KEY: increases openFDA rate limits for heavy usage.

Comments

Loading comments...