К основному содержанию
скилл CX Codex

output-sanitizer — скилл для Claude Code: чистит вывод агента

Скилл проверяет ответ агента перед показом или записью в лог и вырезает ключи, PII и внутренние пути. Пригодится, когда вывод уходит наружу.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add UseAI-pro/openclaw-skills-security --skill output-sanitizer -a claude-code
Открыть на GitHub

Что делает output-sanitizer

Скилл встаёт между ответом агента и его показом. Он прогоняет текст по наборам шаблонов и заменяет найденное: ключи AWS и OpenAI, токены GitHub, JWT, приватные ключи, пароли в конфигах, строки подключения к базе. Всё это уходит в [REDACTED].

Дальше по списку — персональные данные и внутренняя кухня. Почту маскирует до j***@example.com, телефон оставляет последние четыре цифры, номера карт и SSN закрывает целиком. Домашний путь /Users/john/ превращается в ~/, внутренние хосты и эндпоинты — в [internal-host] и [internal], идентификаторы контейнеров обрезаются до первых 8 символов. Находки делятся на уровни: критичное режется всегда, PII и URL баз — если это не отладка, пути просто обобщаются. В конце печатается отчёт со списком правок и строками.

Правило скилла — лучше перерезать, чем пропустить секрет. Оригинальные значения никуда не пишутся. Если пользователь сам просит показать .env, скилл отдаёт содержимое, но предупреждает об этом. Учтите: скилл работает как постобработка, то есть секрет уже попал в контекст модели — маскируется только то, что уходит на экран или в лог.

Какие задачи решает

  • показать вывод агента наружу, не слив ключи
  • записать лог сессии без паролей и токенов
  • убрать домашние пути и внутренние хосты из трейсбеков
  • замаскировать почту и телефоны в сгенерированном тексте
  • вычистить строки подключения из тестовых фикстур

Примеры запросов агенту

  • прогони этот ответ через output-sanitizer перед показом
  • проверь вывод на утечки и замаскируй найденное
  • сделай отчёт санитизации по последнему ответу

Как установить output-sanitizer

1Через Skills CLI (Vercel)

npx skills add UseAI-pro/openclaw-skills-security --skill output-sanitizer -a claude-code

2Вручную: положить файлы

~/.claude/skills/output-sanitizer/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/output-sanitizer/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о output-sanitizer

Как установить output-sanitizer в Claude?

Выполните npx skills add UseAI-pro/openclaw-skills-security --skill output-sanitizer -a claude-code. Скилл появится в ~/.claude/skills/output-sanitizer/SKILL.md.

Что делает output-sanitizer?

Сканирует ответ агента перед показом или логированием и заменяет найденные секреты, персональные данные и внутренние пути на маски. В конце выдаёт отчёт о правках.

Что будет, если попросить агента показать .env?

Скилл не станет вырезать то, что вы явно запросили, но предупредит о чувствительном содержимом. Остальные правила маскировки при этом продолжают действовать.

Исходный текст

SKILL.md · MIT
---
name: output-sanitizer
description: Sanitize OpenClaw agent output before display. Strips leaked credentials, PII, internal paths, and sensitive
  data from responses.
metadata:
  short-description: Redact secrets, PII, and internal paths from OpenClaw agent output before display or logging.
  why: Prevent accidental leakage of sensitive material from otherwise useful agent responses.
  what: Provides a post-processing module for checking output content for secrets, PII, and internal identifiers.
  how: Uses pattern-based detection and masking rules rather than emitting raw sensitive values.
  results: Produces sanitized operator-facing output with sensitive values masked or removed.
  version: 1.0.0
  updated: '2026-03-10T03:42:30Z'
  jtbd-1: When I need to share or log agent output without leaking credentials or personal data.
  audit:
    kind: module
    author: useclawpro
    category: Security
    trust-score: 94
    last-audited: '2026-02-03'
    permissions:
      file-read: true
      file-write: false
      network: false
      shell: false
---

# Output Sanitizer

You are an output sanitizer for OpenClaw. Before the agent's response is shown to the user or logged, scan it for accidentally leaked sensitive information and redact it.

## Why Output Sanitization Matters

AI agents can accidentally include sensitive data in their responses:
- A code review skill might quote a hardcoded API key it found
- A debug skill might dump environment variables in error output
- A test generator might include database connection strings in test fixtures
- A documentation skill might include internal server paths

## What to Scan and Redact

### 1. Credentials and Secrets

Detect and replace with `[REDACTED]`:

| Type | Pattern | Example |
|---|---|---|
| AWS Access Key | `AKIA[0-9A-Z]{16}` | `AKIA3EXAMPLE7KEY1234` |
| AWS Secret Key | 40-char base64 after access key | `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` |
| OpenAI API Key | `sk-[a-zA-Z0-9]{48}` | `sk-proj-abc123...` |
| Anthropic Key | `sk-ant-[a-zA-Z0-9-]{80,}` | `sk-ant-api03-...` |
| GitHub Token | `ghp_[a-zA-Z0-9]{36}` | `ghp_xxxxxxxxxxxx` |
| Generic Passwords | `password\s*[:=]\s*['"][^'"]+['"]` | `password: "hunter2"` |
| Private Keys | `-----BEGIN.*PRIVATE KEY-----` | PEM-formatted keys |
| JWT Tokens | `eyJ[a-zA-Z0-9_-]+\.eyJ[a-zA-Z0-9_-]+` | Full JWT strings |
| Database URLs | `<db-scheme>://[^\s]+` | `postgres://user:pass@host:5432/db` |

Note: `<db-scheme>` usually includes `postgres`, `mysql`, `mongodb`.

### 2. Personally Identifiable Information (PII)

Detect and mask:

| Type | Action | Example |
|---|---|---|
| Email addresses | Mask local part: `j***@example.com` | `[email protected]` |
| Phone numbers | Mask digits: `+1 (***) ***-1234` | Last 4 visible |
| SSN / National IDs | Full redaction: `[SSN REDACTED]` | Any 9-digit pattern with dashes |
| Credit card numbers | Mask: `****-****-****-1234` | Last 4 visible |
| IP addresses (private) | Keep as-is (usually config) | `192.168.1.1` |
| IP addresses (public) | Evaluate context | May need redaction |

### 3. Internal System Information

Redact or generalize:

| Type | Action |
|---|---|
| Full home directory paths | Replace `/Users/john/` with `~/` |
| Internal hostnames | Replace with `[internal-host]` |
| Internal URLs/endpoints | Replace domain with `[internal]` |
| Stack traces with internal paths | Simplify to relative paths |
| Docker/container IDs | Truncate to first 8 chars |

### 4. Source Code Secrets

When the agent outputs code snippets, check for:

- Hardcoded connection strings
- API keys in configuration objects
- Passwords in environment variable defaults
- Private keys embedded in source
- Webhook URLs with tokens

## Sanitization Protocol

### Step 1: Scan

Run all detection patterns against the output text.

### Step 2: Classify

For each finding:
- **Critical**: Credentials, private keys, tokens → always redact
- **High**: PII, database URLs → redact unless explicitly debugging
- **Medium**: Internal paths, hostnames → generalize
- **Low**: Non-sensitive but internal → leave but flag

### Step 3: Redact

Replace sensitive values while preserving context:

```
BEFORE:
  Database connected at postgres://admin:[email protected]:5432/prod

AFTER:
  Database connected at postgres://[REDACTED]@[REDACTED]:5432/[REDACTED]
```

```
BEFORE:
  Error in /Users/john.smith/projects/secret-project/src/auth.ts:42

AFTER:
  Error in ~/projects/.../src/auth.ts:42
```

### Step 4: Report

```
OUTPUT SANITIZATION REPORT
==========================
Items scanned: 1
Redactions made: 3

[CRITICAL] API Key detected and redacted (line 15)
  Type: OpenAI API Key
  Action: Replaced with [REDACTED]

[HIGH] Email address detected and masked (line 28)
  Type: PII - Email
  Action: Masked local part

[MEDIUM] Full home directory path generalized (line 42)
  Type: Internal path
  Action: Replaced with ~/
```

## Rules

1. Always err on the side of over-redacting — a false positive is better than a leaked secret
2. Never log or store the original sensitive values
3. Maintain readability after redaction — the output should still make sense
4. If an entire response is sensitive (e.g., dumping .env), replace with a warning instead
5. Do not redact values in code that the user explicitly asked to see (e.g., "show me my .env")  — but warn them

© UseAI-pro · MIT · UseAI-pro/openclaw-skills-security

Похожие скиллы

Всё по теме «Безопасность» →
openai-privacy-filter reason-machines Скилл ставит в проект модель, которая находит и затирает персональные данные в тексте. Пригодится, когда надо прогнать логи или документы перед отправкой в LLM. CX Codex +1 369установок scan-redactor официальный Anthropic Субагент Claude Security заменяет секреты в готовых файлах отчёта на [REDACTED]. Он запускается задачами сканирования, а не напрямую. ★ 44 635звёзд репо marketplace-health-check daymade Прогоняет параллельный аудит репозитория скиллов: безопасность скриптов, документация, PII, открытые PR и issues, целостность манифеста. CX Codex +1 389установок pii-detect ruvnet Ищет персональные данные, ключи доступа и пароли в коде или текстах перед коммитом и отправкой в логи. Помогает вовремя скрыть конфиденциальные строки. CX Codex +1 762установок security-patterns OrchestKit Скилл с паттернами аутентификации, валидации ввода, защиты от инъекций и маскирования PII. Пригодится, когда пишете auth-флоу или закрываете OWASP Top 10. CX Codex +1 731установок ghost-report ghostsecurity Собирает находки всех сканирующих скиллов Ghost Security в один отчёт по риску и уверенности. Пригодится перед релизом или аудитом. CX Codex +1 3 800установок

Из того же набора10

skill-guard Следит за активными скиллами OpenClaw: какие файлы читают, куда ходят по сети, что запускают в шелле. Пригодится, когда ставишь чужой скилл и хочешь видеть, не выходит ли он за заявленные права. CX Codex +1 573установок prompt-guard Скилл проверяет текст скиллов, сообщения пользователя и внешние данные на попытки перехватить инструкции агента. Пригодится, когда подключаете чужие скиллы или тянете данные из веба. CX Codex +1 546установок credential-scanner Сканирует проект на открытые ключи и пароли до того, как скилл с доступом к файлам их прочитает. CX Codex +1 538установок sandbox-guard Генерирует конфигурацию Docker-песочницы, чтобы запускать недоверенные скиллы OpenClaw без риска для системы. Пригодится, когда ставите чужой скилл и не хотите давать ему доступ к хосту. CX Codex +1 483установок permission-auditor Проверяет, какие права запрашивает скилл OpenClaw, объясняет каждый пункт простыми словами и предлагает минимальный набор. CX Codex +1 476установок setup-auditor Проверяет рабочее окружение OpenClaw на утечки секретов, небезопасные настройки и отсутствие песочницы. Выдаёт отчёт с вердиктом и списком исправлений. CX Codex +1 469установок config-hardener Проверяет AGENTS.md, настройки шлюза, песочницу и политику прав в OpenClaw и выдаёт план ужесточения. Пригодится перед тем, как открыть скиллы на хосте. CX Codex +1 468установок network-watcher Проверяет, куда скиллы OpenClaw ходят по сети, и ловит утечку данных до установки. CX Codex +1 454установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой