ワンクリックで
file-server-guard
Scan a directory for sensitive files before serving it over HTTP. Always run this before using the file-server skill.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Scan a directory for sensitive files before serving it over HTTP. Always run this before using the file-server skill.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Browse, search, and install skills from the CrawHub skill marketplace.
Agent Messaging (ClawMeets). Send, read, list, and delete messages via the ClawMeets agent-to-agent protocol.
Expose a local port to the public internet using ngrok. Use when the user wants a public URL for a locally running web service.
Notion API for creating and managing pages, databases, and blocks.
Create or update MMClaw skills. Use this when the user wants to add new capabilities, automate a specific tool, or define complex multi-step workflows for the agent.
Search the web using a configured search provider. Use when the user explicitly asks to search, look up current information, or needs real-time data such as news, prices, or recent events.
| name | file-server-guard |
| description | Scan a directory for sensitive files before serving it over HTTP. Always run this before using the file-server skill. |
| metadata | {"mmclaw":{"emoji":"🛡️","os":["linux","darwin","win32"],"requires":{"bins":["python"]}}} |
This skill scans a target directory for sensitive files before it is exposed over HTTP. It is a mandatory prerequisite for the file-server skill.
Always run this before starting a file server. Never skip it.
Run the following Python script via shell_execute, replacing <DIRECTORY> with the target directory path:
import os, fnmatch
SENSITIVE_PATTERNS = [
".env", ".env.*", "*.pem", "*.key", "*.p12", "*.pfx",
"id_rsa", "id_rsa.*", "id_ed25519", "id_ed25519.*",
"*.ppk", "credentials", "credentials.*", "secrets.*",
"*.secret", "token.*", "*.token", "config.json",
"*.sqlite", "*.db", "shadow", "passwd",
"*.ovpn", "*.crt", "*.cer",
]
directory = os.path.expanduser("<DIRECTORY>")
found = []
for root, dirs, files in os.walk(directory):
# Skip hidden dirs like .git
dirs[:] = [d for d in dirs if not d.startswith(".git")]
for filename in files:
for pattern in SENSITIVE_PATTERNS:
if fnmatch.fnmatch(filename, pattern) or fnmatch.fnmatch(filename.lower(), pattern):
rel = os.path.relpath(os.path.join(root, filename), directory)
found.append(rel)
break
if found:
print("WARNING: Sensitive files detected in directory:")
for f in found:
print(f" - {f}")
print("\nDo NOT serve this directory without removing or excluding these files.")
print("STATUS: UNSAFE")
else:
print("No sensitive files detected.")
print("STATUS: SAFE")
STATUS: UNSAFE: stop immediately. Report the full list of flagged files to the user. Ask the user to either remove the sensitive files, or choose a different directory. Do NOT start the file server.STATUS: SAFE: inform the user the directory is clean and proceed with the file-server skill..git directories are skipped (git internals, not user data)