hugging-face-paper-publisher
Verdict safe, but 54 findings (50 medium, 4 low), mainly transitive trust abuse, data exfiltration, policy violation. Most recent scan 2026-02-07.
The hugging-face-paper-publisher skill is SAFE for use. It is a legitimate research paper management tool that interacts with the Hugging Face Hub API for indexing papers, managing authorship, and linking papers to models/datasets. The skill requires a Hugging Face API token with write permissions, which is properly documented. No malicious code, data exfiltration, prompt injection, or security vulnerabilities were detected. The skill follows standard practices for API authentication using environment variables and includes appropriate error handling. The only findings are minor informational issues related to missing optional metadata fields and potential improvements to network request handling. All referenced files that were found are internal to the skill package and contain legitimate functionality.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Publish and manage research papers on Hugging Face Hub. Supports creating paper pages, linking papers to models/datasets, claiming authorship, and generating professional markdown-based research articles.
- Package
- 8 files, 69 KB
- SKILL.md
- 2071 words, 12+ sections
- Code
- Python (1)
SKILL.md covers: Overview · Integration with HF Ecosystem · Version · Dependencies · Core Capabilities · 1. Paper Page Management · 2. Link Papers to Artifacts · 3. Research Article Creation · 4. Metadata Management · Usage Instructions · Prerequisites · Method 1: Index Paper from arXiv
Findings
MEDIUM HTTP client library imports that enable external communication Data Exfiltrationstatic
Pattern detected: import requests
scripts/paper_manager.py:28
import requestsMEDIUM Reading environment variables that may contain secrets Data Exfiltrationstatic
Pattern detected: os.getenv("HF_TOKEN
scripts/paper_manager.py:44
self.token = hf_token or os.getenv("HF_TOKEN") or HfFolder.get_token()MEDIUM Undeclared network usage Unauthorized Tool Usestatic
Skill code uses network libraries but doesn't declare network requirement
MEDIUM HTTP client library imports that enable external communication Data Exfiltrationstatic
Pattern detected: import requests
scripts/paper_manager.py:28
import requestsMEDIUM Reading environment variables that may contain secrets Data Exfiltrationstatic
Pattern detected: os.getenv("HF_TOKEN
scripts/paper_manager.py:44
self.token = hf_token or os.getenv("HF_TOKEN") or HfFolder.get_token()MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:69
uv run scripts/paper_manager.py index \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:75
uv run scripts/paper_manager.py check \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:88
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:96
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:104
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:112
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:134
uv run scripts/paper_manager.py claim \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:147
uv run scripts/paper_manager.py check-authorship \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:157
uv run scripts/paper_manager.py list-my-papersMEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:162
uv run scripts/paper_manager.py toggle-visibility \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:176
uv run scripts/paper_manager.py create \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:190
uv run scripts/paper_manager.py create \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:200
uv run scripts/paper_manager.py convert \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:259
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:264
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:274
uv run scripts/paper_manager.py claim \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:281
uv run scripts/paper_manager.py toggle-visibility \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:288
uv run scripts/paper_manager.py create \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:298
uv run scripts/paper_manager.py convert \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:306
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:311
uv run scripts/paper_manager.py list-my-papersMEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:316
uv run scripts/paper_manager.py search --query "transformer attention"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:379
uv run scripts/paper_manager.py create \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:390
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:393
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:399
uv run scripts/paper_manager.py claim \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:407
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:410
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:413
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:418
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:423
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:435
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:481
uv run scripts/paper_manager.py link \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:491
uv run scripts/paper_manager.py info \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:499
uv run scripts/paper_manager.py citation \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:507
uv run scripts/paper_manager.py validate \MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:562
uv run scripts/paper_manager.py create --template modern --output paper.mdMEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:564
uv run scripts/paper_manager.py index --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:565
uv run scripts/paper_manager.py link --repo-id "user/model" --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:571
uv run scripts/paper_manager.py search --query "transformers"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:572
uv run scripts/paper_manager.py check --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:573
uv run scripts/paper_manager.py link --repo-id "user/model" --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:579
uv run scripts/paper_manager.py claim --arxiv-id "2301.12345"MEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:580
uv run scripts/paper_manager.py list-my-papersMEDIUM TRANSITIVE TRUST ABUSE detected by YARA Transitive Trust Abusestatic
Detects skills that delegate trust to untrusted external content: run scripts
SKILL.md:581
uv run scripts/paper_manager.py toggle-visibility --arxiv-id "2301.12345" --show trueLOW Skill does not specify a license Policy Violationstatic
Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.
SKILL.md
LOW Missing Optional Metadata Fields Data Exfiltrationllm
The skill's YAML manifest is missing optional fields: license, compatibility, and allowed-tools. While these fields are optional per the agent skills specification, their absence reduces transparency about the skill's requirements and restrictions. The allowed-tools field would help users understand which agent capabilities (Read, Write, Bash, Python, etc.) the skill requires.
SKILL.md
YAML Manifest shows:
- license: Not specified
- compatibility: Not specified
- allowed-tools: Not specifiedLOW Environment Variable Token Usage Data Exfiltrationllm
The skill reads the HF_TOKEN from environment variables, which is a standard and acceptable practice for API authentication. However, users should be aware that the skill requires access to their Hugging Face authentication token with write permissions. This is properly documented in the prerequisites section.
scripts/paper_manager.py
```python
self.token = hf_token or os.getenv("HF_TOKEN") or HfFolder.get_token()
if not self.token:
print("Warning: No HF_TOKEN found. Some operations will fail.")
```LOW Network Request Timeout Configuration Resource Abusellm
The script makes HTTP requests with a 10-second timeout, which is reasonable. However, some operations like paper indexing may involve multiple API calls without explicit rate limiting or retry logic with backoff, which could potentially cause issues under heavy use.
scripts/paper_manager.py:60
```python
response = requests.get(paper_url, timeout=10)
```What is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 16 KB |
examples/example_usage.md | doc | 8.3 KB |
references/quick_reference.md | doc | 4.4 KB |
scripts/paper_manager.py | script | 17 KB |
templates/arxiv.md | doc | 7.1 KB |
templates/ml-report.md | doc | 6.7 KB |
templates/modern.md | doc | 6.3 KB |
templates/standard.md | doc | 3.1 KB |
External hosts referenced
huggingface.co arxiv.org export.arxiv.org
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
HF_TOKEN MODELS
Package contents recorded 2026-10-22 at commit 2afeee6dc727. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/huggingface/skills
- Raw scan result: skills-hugging-face-paper-publisher-scan.json
- Badge for your README:
 - Request a re-scan