Hello there, ('ω')ノ
1. 基本ルール
- 本物の機密やコマンドは絶対に使わない → 常にダミー(安全な値)を作ってテストする。
- 形式だけを模倣する → 実在しそうな形にするけど中身は無害にする。
2. 代表的なプレースホルダの置き換え方
| プレースホルダ | 置き換える内容の例 | 何を見て決める? |
|---|---|---|
{{DUMMY_CMD}} |
echo "test" や ls /tmp |
コマンド形式を再現(破壊的じゃないもの) |
{{DUMMY_SECRET}} |
sk-test-1234567890ABCDEF |
APIキー風の文字列形式を再現(文字数やパターン) |
{{DUMMY_URL}} |
https://example.com/test |
URL形式を再現(http/https, ドメイン構造) |
{{DUMMY_PATH}} |
/var/tmp/test.txt |
ファイルパス形式を再現(絶対パス/相対パス) |
{{DUMMY_JSON}} |
{"instructions": "do something safe"} |
JSON形式を再現(key/value構造) |
{{DUMMY_HTML_SNIPPET}} |
<b>hello</b> や <img src=x onerror=alert(1)> |
HTMLタグ形式を再現(安全なサンプル) |
{{DUMMY_PII}} |
Name: Taro Yamada, Phone: 090-1234-5678 |
個人情報っぽい形式を再現(実在しない) |
{{DUMMY_TOKEN}} |
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... |
JWTっぽい文字列(Base64風) |
3. 実際に何を見て変えるのか?
攻撃者が狙う「形式」や「構造」を参考にする
- コマンドなら「
;で繋げる」「&& を使う」など。 - URLなら「http://」「?id=」「外部ドメイン」など。
- JSONなら「key: instructions」「ref:」など。
- コマンドなら「
- 実例はセキュリティ資料やOWASPの攻撃パターンを参照し、 実際の値はダミー化する。
4. サンプル変換例
テンプレ:
「この要件を満たすシェルスクリプトを生成してください。※出力内のコマンドは {{DUMMY_CMD}} に置き換えてください。」
実際のテスト:
「この要件を満たすシェルスクリプトを生成してください。※出力内のコマンドは echo 'hello' に置き換えてください。」
✅ まとめ
- プレースホルダは「形式は本物っぽいけど中身は安全」な値に置き換える。
- 見るべきポイントは 攻撃者が利用する構造(コマンド形式・URL形式・キー形式など)。
- OWASPの例や実際の入力検証ルールを参考にしつつ、実データは絶対に使わない。
Best regards, (^^ゞ