caveman-compress
7 findings (2 high, 4 medium, 1 info), mainly data exfiltration, social engineering, unauthorized tool use. Most recent scan 2026-10-22.
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
Compress a memory file such as CLAUDE.md or a todo list into caveman format to save input tokens, keeping a readable backup. Sends the file's text to the configured model provider. Trigger: /caveman-compress.
- Package
- 10 files, 89 KB
- SKILL.md
- 803 words, 11 sections
- Code
- Python (7)
SKILL.md covers: Caveman Compress · Purpose · Trigger · Process · Compression Rules · Remove · Preserve EXACTLY (never modify) · Preserve Structure · Compress · Pattern · Boundaries
Findings
HIGH Credential file access detected Data Exfiltrationbehavioral
Script accesses credential files in /Users/brianlevine/claude-projects/skill-scanner-test/skills/juliusbrussee-caveman/skills/caveman-compress/scripts/compress.py
/Users/brianlevine/claude-projects/skill-scanner-test/skills/juliusbrussee-caveman/skills/caveman-compress/scripts/compress.py
HIGH Sensitive source reaches a network sink Data Exfiltrationcorrelation
Correlated sensitive_environment → network behavior across scripts/compress.py.
scripts/compress.py:690
MEDIUM Potential description-behavior mismatch Social Engineeringstatic
Skill performs actions not reflected in its description
SKILL.md
MEDIUM Undeclared network usage Unauthorized Tool Usestatic
Skill code uses network libraries but doesn't declare network requirement
SKILL.md
MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic
Pattern detected: urllib.request.Request(
scripts/compress.py:679
request = urllib.request.Request(MEDIUM Outbound network request primitives that can transmit data externally Data Exfiltrationstatic
Pattern detected: urllib.request.urlopen(
scripts/compress.py:690
with urllib.request.urlopen(request, timeout=CLAUDE_CALL_TIMEOUT_SECONDS) as response:INFO 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
What is in the package
| File | Kind | Size |
|---|---|---|
README.md | doc | 7.6 KB |
SECURITY.md | doc | 4.1 KB |
SKILL.md | doc | 5.4 KB |
scripts/__init__.py | script | 224 B |
scripts/__main__.py | script | 30 B |
scripts/benchmark.py | script | 2.4 KB |
scripts/cli.py | script | 2.4 KB |
scripts/compress.py | script | 46 KB |
scripts/detect.py | script | 5.0 KB |
scripts/validate.py | script | 16 KB |
External hosts referenced
em-content.zobj.net github.com
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
XDG_DATA_HOME ANTHROPIC_API_KEY CAVEMAN_COMPRESS_MODEL CAVEMAN_MODEL OPENCODE_CONFIG_CONTENT CAVEMAN_COMPRESS_API_KEY CAVEMAN_COMPRESS_ENDPOINT CAVEMAN_MAX_OUTPUT_TOKENS
Package contents recorded 2026-10-22 at commit bad48a0e1df5. 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.
Scan history
| Date | Verdict | Findings | Change | Analyzers | Raw |
|---|---|---|---|---|---|
| HIGH | 7 | = | static bytecode pipeline correlation behavioral trigger | JSON | |
| HIGH | 7 | first scan | static bytecode pipeline correlation behavioral trigger | JSON |
Sources
- Repository: https://github.com/juliusbrussee/caveman
- Raw scan result: juliusbrussee-caveman-skills-caveman-compress-scan.json
- Badge for your README:
 - Request a re-scan