ファイル拡張子の危険度を確認
ファイル拡張子リスクチェッカーは、添付ファイルフィルター、アップロードフォーム、セキュリティ審査で利用できる一貫した一次判定を提供します。.exe、docm、holiday.jpg などを入力すると、正規化した拡張子、分類、危険度、アクティブコンテンツの有無、実用的なフィルタリング推奨策を返します。処理は決定論的で、ネットワークへ接続しません。内容そのものを検査する機能ではないため、MIME の照合、マルウェアスキャン、アーカイブ検査、組織の許可リストと組み合わせてご利用ください。
無料で実行
末尾の拡張子を迅速な一次判定にお使いください
添付ファイルのフィルタリングは、スキャナーがファイルを開く前から始まることが少なくありません。表示されている末尾の文字列は低コストで確認でき、一般的な実行ファイル、インタープリターで動くスクリプト、マクロを格納できるオフィス文書、よく使われるメディア形式をすぐに分けられます。docm のような文字列だけでも、.DOCM のように先頭へピリオドを付けても、quarterly-report.docm のような完全なファイル名でも送信できます。前後の空白と大文字・小文字の違いを吸収し、URL のクエリやフラグメントを除いて、最後の拡張子を分類します。この仕様は invoice.pdf.exe のような名前で特に重要です。安全そうに見える途中の pdf ではなく、末尾の .exe に従って判定します。応答には、ピリオド付きの正規化済み拡張子、ポリシー上の分類、分かりやすい危険度、通常アクティブコンテンツを扱えるかどうか、理由、推奨する処置が含まれます。一定の語彙が必要なメールゲートウェイ、サポート窓口、ワークフロー規則、人的審査キューで扱いやすい形式です。ただし、攻撃者は名前を変更でき、正当なファイルにも誤った拡張子が付くため、あくまで一次判定としてお使いください。
添付ファイルの4つの危険分類をご確認ください
executable は、コードを直接起動できる形式や、プログラムのインストールまたはシステム設定に関与する形式です。危険度は critical で、原則として遮断することを推奨します。script は、シェル、インタープリター、ブラウザー環境、自動化ランタイムなどが実行できるソースファイルやコマンドファイルです。危険度は high です。document-macro-capable は、docm、xlsm、pptm など、マクロやアクティブなアドインを明示的に格納できる Office 系形式です。日常的な文書に見えても実行可能な処理を含められるため、こちらも high とします。safe media は、通常プログラムとして起動されない一般的な画像、音声、動画の拡張子で、危険度は low です。ただし、「安全」は添付ポリシー上の相対的な表現であり、データ自体の無害性を保証しません。不正な画像が脆弱なデコーダーを攻撃する場合があり、SVG は複雑な内容を持てます。また、拡張子と実際の形式が異なる可能性もあります。そのため、低リスクの結果でも無条件に許可せず、コンテンツタイプの照合と通常のマルウェアスキャンを推奨します。
未知の形式は慎重に扱い、複数の検査を併用してください
添付ファイルフィルターでは、見慣れない拡張子を安全の証拠として扱うべきではありません。拡張子を認識できない場合は recognized: false を返し、危険度 critical の executable ポリシー枠へ分類します。これは意図的なフェイルセーフです。潜在的にアクティブな形式を誤って許可する代わりに、管理者が隔離し、内容を調査して、必要ならローカル規則を追加できます。実運用では、この結果を独立した複数の手掛かりと組み合わせてください。申告された MIME とマジックバイトによる形式判定を比較し、隔離されたスキャナーでアーカイブを展開し、検査できないパスワード保護ファイルを拒否し、マルウェアを検索してください。さらに、送信者と業務手順がその形式を本当に必要としているかもご確認ください。画像または動画だけを受け付ける処理では許可リストを狭く保ち、この拡張子検査に通ったという理由だけで対象を増やさないことが重要です。監査に備えて、正規化した拡張子と判定も記録してください。API の料金は1回 $0.002 です。ブラウザーではファイル名を送信せず、同じ決定論的な結果を取得できます。分類できる有効な末尾がないため、空の拡張子はエラーになります。
活用例
受信メールの添付ファイルを選別
詳しいマルウェア解析の前に、実行ファイル、スクリプト、マクロ対応文書を隔離へ回します。
サポート窓口のアップロードを検証
お客様の画像、動画、文書を受け入れる前に、ファイル名へ一貫した一次ポリシーを適用します。
添付ファイルを遮断した理由を説明
審査記録に残せる安定した分類、根拠、推奨処置を返します。
よくある質問
低リスクならファイルは安全ですか?
いいえ。拡張子に一般的に関連する動作を示すだけです。信頼する前に実際のファイル形式を確認し、内容をスキャンしてください。
未知の拡張子はどのように扱われますか?
recognized を false とし、未知の形式を安全とみなさないよう、慎重に executable 分類と critical の危険度を割り当てます。
完全なファイル名を入力できますか?
はい。最後の拡張子を使うため、invoice.pdf.exe は .exe で分類します。先頭のピリオドがある拡張子も、ない拡張子も入力できます。
マクロ対応文書をスクリプトと分ける理由は何ですか?
一般的な業務文書の内部にアクティブな処理が埋め込まれるため、添付ポリシーでは単独のスクリプトと異なる検査や無害化を行うことが多いためです。
API の利用料金はいくらですか?
1回のリクエストは $0.002 です。処理は決定論的で、ネットワークサービスや AI モデルを呼び出しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/security/file-extension-risk-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"extension":".docm"}'const res = await fetch("https://api.kit.forhosting.com/security/file-extension-risk-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"extension": ".docm"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/file-extension-risk-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"extension": ".docm"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/file-extension-risk-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"extension":".docm"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"extension":".docm"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/file-extension-risk-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"extension": ".docm"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.file_extension_risk_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |