
このスクリプトは、同形文字(Homoglyph)検出ツールを実装しており、主にコード内に存在する可能性のある CVE-2021-42694 脆弱性を検出するために使用されます。その主な機能を詳しく説明します:
核心機能: コード内の同形文字置換攻撃を検出 Python ファイル内の変数名、関数名などの識別子をスキャン 視覚的に類似しているが実際には異なる Unicode 文字を識別
主要コンポーネント: HomoglyphDetector クラス:主要な検出器クラス データ取得:Unicode 公式サイトから Confusables データを取得 ファイルスキャン:単一ファイルまたはディレクトリ全体のスキャンをサポート
ワークフロー: 初回実行時に Unicode Confusables データを自動ダウンロード データを解析し同形文字対照表を作成 コードファイル内の識別子をスキャン 各識別子に同形文字が存在するかチェック 詳細な検出レポートを生成
具体检测过程: Apply to homoglyph_de...
user_name = "John" # 正常なコード usеr_name = "John" # 同形文字を含むコード(е はキリル文字)
出力結果: 疑わしいファイルパスを表示 疑わしい識別子を表示 具体的な同形文字ペアを表示(例:n -> η)
セキュリティ特性: Unicode データの自動更新 ローカルキャッシュ機構 詳細なエラーハンドリング
このツールの主な用途は、開発者がコード内に存在する可能性のある同形文字攻撃を発見するのを支援することです。この攻撃は以下を引き起こす可能性があります: コードの難読化 セキュリティの脆弱性 メンテナンスの困難 潜在的な悪意のあるコードインジェクション
このツールを使用することで、開発者は以下が可能になります: コードで使用される識別子が安全であることを確認 同形文字置換攻撃を防止 コードの保守性とセキュリティを向上