Agent skill · Audited from source
researchwrite
skill · yuan1z0825/nature-skillsApache-2.0 licenceAudited 31 Oct 2026 · source c5a4a9d64275
Is it safe? No — BLOCK, grade D (62/100). We read this skill's source at commit c5a4a9d64275 and observed filesystem, network and shell access and a hard-coded secret (see the findings). The audit raised 25 findings, 9 critical or high. What it does: Search literature across sources, verify or manage citations, and build MeSH strategies or citation-impact audits. Use for 文献检索、引文核对、参考文献管理、严格他引 and evidence-backed citer profiles; not for translating a paper or…
Cite
Cite this page
ModelsAtlas. “researchwrite (yuan1z0825/nature-skills)”. Retrieved 31 Oct 2026. https://modelsatlas.com/skills/yuan1z0825/researchwrite
Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 9 critical or high findings, starting with “Prompt injection” in skills/nature-downloader/SKILL.md:130. Do not install it without reading them.
Trust audit
Audit 0.4.1 · source read 31 Oct 2026
BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 721 of 17,602 audited skills.
What the source does
- FilesystemDeclared1 observation
- NetworkDeclared4 observations
- ShellDeclared1 observation
- DependenciesNot pinnedSome versions float
- SecretsFoundSee the findings; values are never shown
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | WARN | 16 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 9 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: critical finding, no behavioural pass, undeclared transfer.
Findings (25)
CRITICALPrompt injectionprompt.transfer_instruction · skills/nature-downloader/SKILL.md:130
Do not proactively ask the user to paste an API key into chat. If the user voluntarily sends a publisher API key, treat that as authorization to save that exact key: do not reject it, ask them to rege
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
HIGHPrompt injectionprompt.credential_read · skills/nature-downloader/SKILL.md:31
> **Chinese literature is CNKI-only.** A Chinese title, `zh` metadata language, explicit CNKI source URL, or `--route cnki` must use CNKI even if another OA copy appears to exist. Reuse the user's cur
- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.credential_read · skills/nature-downloader/SKILL.md:171
**User handoff:** Ask the user only after the bounded attempt fails, or immediately when the page requires secret or identity-bearing input such as an image-selection answer, QR approval, SMS/OTP, pas
- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.credential_read · skills/nature-downloader/SKILL.md:358
references as permission to bypass access controls or to expose credentials, cookies, or session
- Why
- asks the agent to read credentials
- Fix
- —
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/common-failure-modes.md:1
# Common statistical failure modes
- Why
- invisible characters in instruction text
- Fix
- strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/figure-statistics.md:1
# Figure statistics and legend alignment
- Why
- invisible characters in instruction text
- Fix
- strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/reviewer-checklist.md:1
# Reviewer checklist for statistical reporting
- Why
- invisible characters in instruction text
- Fix
- strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/source-basis.md:1
# Source basis for `nature-statistics`
- Why
- invisible characters in instruction text
- Fix
- strip non-printing characters
HIGHPrompt injectionprompt.zero_width · skills/nature-statistics/references/statistical-reporting.md:1
# Statistical reporting checklist
- Why
- invisible characters in instruction text
- Fix
- strip non-printing characters
MEDIUMInformation disclosuredisclose.log_secret · skills/nature-image2ppt/cli/image2ppt/runtime/runtime_env.py:398
print(f"OCR: {ocr['…']} token={ocr['…']} source={ocr['…']}")- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMObfuscation / stealthobf.homoglyph · skills/nature-shared/scripts/check_consistency.py:160
r"(?:\\(?:mathrm|text)\s*\{\s*)?(μm|μm|um|mm|cm|m)(?:\s*\})?"- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMObfuscation / stealthobf.homoglyph · skills/nature-shared/scripts/check_consistency.py:167
return "um" if unit in {"μm", "μm"} else unit- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMHard-coded secretssecret.generic · skills/nature-downloader/tests/python/test_config_credentials.py:17
secret = "…"
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/tests/test_nature_submission_requirements.py:23
"../../../../nature-shared/journal-formats/nature.md",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/tests/test_nature_submission_requirements.py:27
"../../../../nature-shared/journal-formats/nature.md",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/tests/test_nature_submission_requirements.py:31
"../../nature-shared/core/research-compliance.md",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/tests/test_nmi_submission_requirements.py:159
"../../../../nature-shared/journal-formats/nature-machine-intelligence.md",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/tests/test_nmi_submission_requirements.py:163
"../../../../nature-shared/journal-formats/nature-machine-intelligence.md",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.metadata_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:27
METADATA_HOST = "http://169.254.169.254/latest/meta-data/"
- Why
- cloud metadata endpoint: the classic SSRF credential grab
- Fix
- —
LOWNetwork egressnet.metadata_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:39
monkeypatch.setattr(format_converter, "EUTILS_BASE", "http://169.254.169.254")
- Why
- cloud metadata endpoint: the classic SSRF credential grab
- Fix
- —
LOWNetwork egressnet.metadata_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:46
monkeypatch.setattr(format_converter, "CROSSREF_BASE", "http://169.254.169.254/works")
- Why
- cloud metadata endpoint: the classic SSRF credential grab
- Fix
- —
LOWNetwork egressnet.metadata_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:54
monkeypatch.setattr(format_converter, "ARXIV_BASE", "http://169.254.169.254/query")
- Why
- cloud metadata endpoint: the classic SSRF credential grab
- Fix
- —
LOWNetwork egressnet.raw_ip · scripts/tests/test_nature_figure_openrouter_errors.py:23
api_url="http://127.0.0.1:9/",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:27
METADATA_HOST = "http://169.254.169.254/latest/meta-data/"
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · skills/nature-academic-search/mcp-server/tests/test_format_converter_hardening.py:39
monkeypatch.setattr(format_converter, "EUTILS_BASE", "http://169.254.169.254")
- Why
- No further detail recorded for this rule.
- Fix
- —
Audit 0.4.1 · source sha c5a4a9d64275 · 31 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publisheryuan1z0825 GitHub userOwner of the repository this skill is read from
- Source folderyuan1z0825/nature-skillsThe exact folder we audited
- LicenceApache-2.0As the repository states it
- Commit pinned for this verdictc5a4a9d64275A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Search literature across sources, verify or manage citations, and build MeSH strategies or citation-impact audits. Use for 文献检索、引文核对、参考文献管理、严格他引 and evidence-backed citer profiles; not for translating a paper or…
--- name: nature-academic-search description: "Search literature across sources, verify or manage citations, and build MeSH strategies or citation-impact audits. Use for 文献检索、引文核对、参考文献管理、严格他引 and evidence-backed citer profiles; not for translating a paper or drafting manuscript prose." --- # Academic Search — Router ## Routing protocol For local citation-file conversion with complete supplied records, load `references/workflows/wf4-citation-file-mgmt.md` and its format reference directly. Source lookup, API setup, and network preflight apply only when retrieval or verification is needed; do not require them for a requested offline conversion. For a new task, load the core and matching resources below. Reuse already loaded guidance on follow-ups; load more only when the task needs it. ### 1. Load the manifest and the core layer Read [manifest.yaml](manifest.yaml). It declares the `workflow` axis, the allowed values, and the file paths each value maps to. Also read every file listed under `always_load`: - `static/core/tools.md` — the MCP tool inventory (core search, extended search, PubMed utilities) and the shared-module map. - `static/core/routing-and-ops.md` — the T1→T2→T3 source routing quick guide, environment setup, error handling, and limitations. ### 2. Detect the workflow Map the user's need to one or more `workflow` values: - `multi-source-search` — find literature across sources. - `citation-verification` — verify citations extracted from a document. - `mesh-strategy` — build a MeSH/PubMed search strategy. - `citation-file-mgmt` — convert/manage `.nbib`/`.ris`/`.bib` files. - `reference-mgmt` — BibTeX, related-article discovery, ID conversion. - `strict-other-citation-impact-audit` — determine strict independent other-citations, build article-level citation metric tables, identify high-profile citers (academy members, presidents/deans, talent-award holders, fellows, field leaders), and extract how they cited the target paper. A combined request (for example search then export) may need more than one. State the detected workflow(s) in one short line before proceeding. ### 3. Load the matching workflow fragment(s) Read the file mapped for each detected workflow (under `references/workflows/`). Do **not** read every workflow. Each workflow file links to the shared modules it needs. ### 4. Run the workflow using the loaded material Apply the loaded material in this order: 1. Core tools and routing (`core/tools.md`, `core/routing-and-ops.md`) — which MCP tool for which need, and the T1→T2→T3 fallback chain for source retrieval. 2. The workflow fragment — its specific steps. 3. Shared modules and scripts on demand (dedup, citation parser, search strategy, RIS/BibTeX format, format converter). Report specific tool failures and continue with remaining tools; broaden terms when there are no results; fall back to manual generation from MCP-fetched metadata if a script fails twice. ### 5. Reach for references only when needed The files under `references/` (and `scripts/`) are deep references, not defaults. Open them on demand per the `references.on_demand` table in the manifest — for example `references/source-tiers.md` for the full reliability classification, `references/dedup-engine.md` / `references/citation-parser.md` / `references/search-strategy.md` / `references/ris-bibtex-format.md` for the shared modules, and `scripts/academic_search.py` (no-MCP fallback discovery search) / `scripts/format-converter.py` / `scripts/preflight.py` for the tooling.
Excerpt, first 3,535 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit c5a4a9d
npx skills add Yuan1z0825/nature-skills --list npx skills add Yuan1z0825/nature-skills --agent codex --skill nature-figure --yes --copy npx skills add Yuan1z0825/nature-skills --global --agent codex \ npx skills add Yuan1z0825/nature-skills --global --agent codex --skill '*' --yes --copy npx skills add Yuan1z0825/nature-skills --all npm install -g @anthropic-ai/claude-code
git clone https://github.com/yuan1z0825/nature-skills git -C nature-skills checkout c5a4a9d64275
Commands as the repository documents them: shown, never run by us. Our verdict covers commit c5a4a9d64275 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| Codex | Mentioned in its text, not tested | Skills for Codex · About Codex |
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
| OpenClaw | Mentioned in its text, not tested | Skills for OpenClaw · About OpenClaw |
Audit history
Every audit, every source change
- ✕BLOCK D 62 / 100
first audit · source
c5a4a9d64275
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/yuan1z0825/researchwrite/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
yuan1z0825/nature-skills
Draft or restructure scientific manuscript arguments, sections, and initial-submission materials from author-provided evidence. Use for 论文写作、章节起草、论证重构、正文压缩、首次投稿材料. Use nature-polishing for language-only edits to…
yuan1z0825/nature-skills
Internal shared-reference support package for installed Nature Skills, including nature-writing, nature-polishing, nature-response, nature-reader, and nature-paper2ppt. Do not invoke it as a standalone user workflow.…
yuan1z0825/nature-skills
Draft, audit, or revise responses to peer review, revision cover letters, and marked-manuscript or LaTeX revision packages. Use for 审稿意见回复、逐点回复、返修信、 rebuttals and edits to existing response drafts. Initial-submission…
yuan1z0825/nature-skills
Provide evidence-grounded mock peer review of scientific manuscripts or excerpts, covering significance, validity, and major/minor concerns. Use for 模拟审稿、投稿前自审、审稿人视角评估; not author rebuttal drafting.
yuan1z0825/nature-skills
对学术文献逐条执行多源交叉验证,逐字段对比作者、标题、年份、卷期、页码, 标记卷年/DOI年冲突、作者顺序异常、页码偏差等问题,输出结构化验证报告。 可批量处理整篇论文/开题报告的参考文献列表,也可单条校验,支持与 Zotero 同步修正。
yuan1z0825/nature-skills
Create source-grounded Chinese-English paper readers with aligned text, figures, tables, and equations. Use for 全文翻译、中英文对照、论文精读 or source-linked questions about a paper; respect a requested excerpt or question without…
Add this badge to your README
[](https://modelsatlas.com/skills/yuan1z0825/researchwrite/)
<a href="https://modelsatlas.com/skills/yuan1z0825/researchwrite/"><img src="https://modelsatlas.com/skills/yuan1z0825/researchwrite/badge.svg" alt="ModelsAtlas: BLOCK D"></a>
Questions about researchwrite
What does the researchwrite skill do?
Is researchwrite safe to install?
What can researchwrite access on my machine?
What do I need installed to use researchwrite?
Which assistants does researchwrite work with?
How current is this page?
Sources
- github.com/yuan1z0825/nature-skills — the audited source at commit c5a4a9d64275 and every finding aboveObserved · 31 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the researchwrite skill do?
- Is researchwrite safe to install?
- What can researchwrite access on my machine?