スキル一覧に戻る
takemo101

sanitizer

by takemo101

0🍴 0📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: sanitizer description: 外部入力(Issue/PRの本文)からプロンプトインジェクション対策としてサニタイズを行う

Sanitizer

外部入力(GitHub Issue/PRの本文、コメント等)を安全に処理するためのサニタイズ機能。


目的

  • プロンプトインジェクション対策: HTMLコメントや不可視文字に隠された悪意ある指示を除去
  • トークン漏洩防止: 誤って含まれたGitHubトークンをマスク
  • 入力正規化: 不要な属性や特殊文字を除去して安全な入力に変換

使用場面

場面適用タイミング
/implement-issuesIssue本文を読み込む際
@claude メンション処理コメント本文を処理する際
外部PR処理信頼できないPRの説明文を処理する際

サニタイズ関数

1. HTMLコメント除去

strip_html_comments "<!-- hidden instruction -->"
# 出力: ""

2. 不可視文字除去

strip_invisible_chars "text\u200Bwith\u200Cinvisible"
# 出力: "textwithinvisible"

3. GitHubトークンマスク

redact_github_tokens "token: ghp_1234567890abcdefghijklmnopqrstuvwxyz"
# 出力: "token: [REDACTED_GITHUB_TOKEN]"

4. Markdown画像alt除去

strip_markdown_image_alt "![hidden instruction](image.png)"
# 出力: "![](image.png)"

5. HTML属性除去

strip_hidden_attributes '<div alt="hidden" data-secret="value">text</div>'
# 出力: '<div>text</div>'

CLIスクリプト

bash .opencode/skill/sanitizer/scripts/sanitize.sh <input-file>
bash .opencode/skill/sanitizer/scripts/sanitize.sh --stdin
echo "content" | bash .opencode/skill/sanitizer/scripts/sanitize.sh --stdin
引数説明
<input-file>サニタイズするファイルパス
--stdin標準入力から読み込み

出力: サニタイズ済みテキスト(標準出力)


除去対象一覧

カテゴリ対象
HTMLコメント<!-- ... --><!-- ignore this -->
Zero-width文字\u200B, \u200C, \u200D, \uFEFF不可視文字
制御文字\u0000-\u001F, \u007F-\u009F制御コード
Bidi制御\u202A-\u202E, \u2066-\u2069双方向テキスト制御
Markdown画像alt![alt text](url) のalt部分![hidden](img.png)![](img.png)
HTML属性alt, title, aria-label, data-*, placeholder<img alt="hidden">
HTMLエンティティ&#123;, &#x7B;数値エンティティ(非印字文字除去)
GitHubトークンghp_*, gho_*, ghs_*, ghr_*, github_pat_*APIトークン

セキュリティ考慮事項

  • 新しいバイパス技術: 完全な防御は不可能。外部コントリビューターからの入力は常に注意
  • 信頼レベル: 内部メンバーのIssueは信頼度高、外部PRは信頼度低として扱う
  • 多層防御: サニタイズは一層目。重要な操作前には人間の確認を推奨

関連ドキュメント

ドキュメント内容
claude-code-action security元実装のセキュリティドキュメント

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です