mir プロジェクトではセキュリティを重要視しています。セキュリティの脆弱性を発見した場合は、責任ある方法で報告してください。
重要: セキュリティ脆弱性を公開で報告しないでください。GitHub Issues での報告は避けてください。
セキュリティ脆弱性を発見した場合は、以下の方法で報告してください:
security@tbsten.me
報告には以下を含めてください:
- 脆弱性の説明
- 影響を受けるバージョン
- 再現手順(可能な場合)
- 提案される修正(可能な場合)
- 24時間以内: 報告受領確認
- 7日以内: 初期調査結果
- 30日以内: 修正版リリース予定日を通知
現在、以下のバージョンはセキュリティアップデートを受け取ります:
| バージョン | サポート状態 |
|---|---|
| 0.0.1-alpha02 | ✅ Active |
| 0.0.1-alpha01 |
注: まだ alpha バージョンのため、セキュリティアップデートは保証されません。
- npm audit で脆弱性をスキャン
- 定期的な依存関係の更新
npm audit
npm update- TypeScript での型安全性確保
- ESLint による静的解析
- テストによる動作確認
Handlebars テンプレートは Sandbox 環境で実行されます:
// テンプレートインジェクション対策
expandTemplate(userTemplate, userVariables);
// ⚠️ ユーザー入力のテンプレートはサニタイズしてください# ✅ 信頼できる registry を使用
mir install snippet --registry=https://mir.tbsten.me
# ❌ 信頼できない URL からスニペットを取得しない
mir install snippet --registry=http://untrusted.com// ✅ Input validation を行う
validateSnippetYaml(data, schema);
// ❌ ユーザー入力を直接使用しない
fs.writeFileSync(userInput, content);// ✅ データをテンプレート変数として渡す
expandTemplate(template, variables);
// ❌ テンプレート文字列に直接連結しない
const unsafe = `Hello ${userName}!`; // XSS リスクこのプロジェクトはまだセキュリティ監査を受けていません。本番環境での使用前に、自社のセキュリティチームでレビューしてください。