scientific-slides
9 findings (4 critical, 4 medium, 1 low), mainly data exfiltration, unauthorized tool use, social engineering. Most recent scan 2026-10-21.
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
Builds slide decks and presentations for research talks. Used for making PowerPoint slides, conference presentations, seminar talks, research presentations, thesis defense slides, or any scientific talk. Provides slide structure, design templates, timing guidance, and visual validation. Works with PowerPoint and LaTeX Beamer.
- Package
- 24 files, 381 KB
- SKILL.md
- 2578 words, 12+ sections
- Code
- Python (7)
- Allowed tools
ReadWriteEditBash- License
- MIT license
- Compatibility
- Python 3.12+; requests for OpenRouter generation, Pillow for image PDFs, PyMuPDF for rendering, pypdf and python-pptx for validation and template editing. Generation needs network and OPENROUTER_API_KEY. Beamer needs TeX Live/MiKTeX; programmatic PPTX needs Node.js and PptxGenJS; rendering PPTX for review needs LibreOffice.
SKILL.md covers: Scientific Slides · Overview · When to Use This Skill · Slide Generation with Nano Banana 2 · Image Workflow: PDF Slides · Presentation Plan: Introduction to Machine Learning · Slide 1: Title Slide · Slide 2: Introduction · Slide 3: Core Concepts · Title slide (first slide - establishes the style) · Content slide with citations (attach previous slide for consistency) · Background slide with multiple citations
Findings
CRITICAL Cross-file env var exfiltration: 4 files Data Exfiltrationbehavioral
Environment variable access with network calls in scripts/generate_schematic_ai.py, scripts/generate_slide_image.py, scripts/generate_slide_image_ai.py, scripts/generate_schematic.py
CRITICAL Cross-file exfiltration chain: 4 files Data Exfiltrationbehavioral
Multi-file exfiltration chain detected: scripts/generate_schematic_ai.py, scripts/generate_slide_image.py, scripts/generate_slide_image_ai.py, scripts/generate_schematic.py collect data → scripts/generate_schematic_ai.py, scripts/generate_slide_image_ai.py → scripts/generate_schematic_ai.py, scripts/generate_slide_image_ai.py transmit to network
CRITICAL Environment variable access with network calls detected Data Exfiltrationbehavioral
Script accesses environment variables and makes network calls in /home/runner/work/skill-scanner-test/skill-scanner-test/skills/K-Dense-AI-scientific-agent-skills/skills/scientific-slides/scripts/generate_schematic_ai.py
/home/runner/work/skill-scanner-test/skill-scanner-test/skills/K-Dense-AI-scientific-agent-skills/skills/scientific-slides/scripts/generate_schematic_ai.py
CRITICAL Environment variable access with network calls detected Data Exfiltrationbehavioral
Script accesses environment variables and makes network calls in /home/runner/work/skill-scanner-test/skill-scanner-test/skills/K-Dense-AI-scientific-agent-skills/skills/scientific-slides/scripts/generate_slide_image_ai.py
/home/runner/work/skill-scanner-test/skill-scanner-test/skills/K-Dense-AI-scientific-agent-skills/skills/scientific-slides/scripts/generate_slide_image_ai.py
MEDIUM Code makes network requests Unauthorized Tool Usestatic
Skill code makes network requests. While not controlled by allowed-tools, network access should be documented and justified in the skill description.
SKILL.md
MEDIUM Potential description-behavior mismatch Social Engineeringstatic
Skill performs actions not reflected in its description
SKILL.md
MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic
Pattern detected: requests.post(
scripts/generate_schematic_ai.py:263
response = requests.post(MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic
Pattern detected: requests.post(
scripts/generate_slide_image_ai.py:291
response = requests.post(LOW Code uses glob/file patterns but Glob tool not in allowed-tools Unauthorized Tool Usestatic
Skill restricts tools to ['Read', 'Write', 'Edit', 'Bash'] but code uses glob patterns
SKILL.md
What is in the package
24 files, 381 KB. Show the list.
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 21 KB |
assets/beamer_template_conference.tex | data | 9.9 KB |
assets/beamer_template_defense.tex | data | 26 KB |
assets/beamer_template_seminar.tex | data | 23 KB |
assets/powerpoint_design_guide.md | doc | 22 KB |
assets/timing_guidelines.md | doc | 13 KB |
references/beamer_guide.md | doc | 20 KB |
references/common_pitfalls.md | doc | 3.3 KB |
references/data_visualization_slides.md | doc | 18 KB |
references/presentation_structure.md | doc | 22 KB |
references/presentation_workflow.md | doc | 7.4 KB |
references/prompt_writing.md | doc | 2.2 KB |
references/script_reference.md | doc | 8.2 KB |
references/slide_capabilities.md | doc | 12 KB |
references/slide_design_principles.md | doc | 23 KB |
references/talk_types_guide.md | doc | 20 KB |
references/visual_review_workflow.md | doc | 20 KB |
scripts/generate_schematic.py | script | 7.6 KB |
scripts/generate_schematic_ai.py | script | 35 KB |
scripts/generate_slide_image.py | script | 7.7 KB |
scripts/generate_slide_image_ai.py | script | 33 KB |
scripts/pdf_to_images.py | script | 6.8 KB |
scripts/slides_to_pdf.py | script | 7.4 KB |
scripts/validate_presentation.py | script | 13 KB |
External hosts referenced
openrouter.ai python-pptx.readthedocs.io arxiv.org doi.org gitbrent.github.io ctan.org deic.uab.cat export.arxiv.org github.com pillow.readthedocs.io pymupdf.readthedocs.io pypdf.readthedocs.io support.microsoft.com webaim.org www.color-blindness.com yourlab.university.edu yourwebsite.edu
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
OPENROUTER_API_KEY
Package contents recorded 2026-10-22 at commit 593377bb0487. 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.
- Bytecode analyzer.
- Pipeline analyzer.
- Correlation analyzer.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
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/K-Dense-AI/scientific-agent-skills
- Raw scan result: skills-scientific-slides-scan.json
- Badge for your README:
 - Request a re-scan