
CISA の Known Exploited Vulnerabilities カタログを扱う REST API で、CVE の検索、最近の KEV 追加、テキスト検索、および CISA、MITRE、NVD のデータを統合して提供します。
CISAのKnown Exploited Vulnerabilities Catalog(こちら)のための、これまで存在しなかったAPIです。
KEVinへのアクセスは https://kevin.gtfkd.com/ で行えます。
現在レート制限が設定されており、キャッシュはエッジで3時間に設定されています。
ホストされているインスタンスのステータスを確認するには、ステータスページ https://kevinapi.statuspage.io/ を参照してください。
python3 -m venv envsource env/bin/activatepip3 install -r requirements.txt必要なAPIキーを追加します。
API_KEY=xxx
MONGODB_URI_PROD=mongodb://MONGO_PROD_IP:27017/
MONGODB_URI_DEV=mongodb://localhost:27017/
PUBLIC_BASE_URL=https://kevin.gtfkd.com
TRUSTED_HOSTS=kevin.gtfkd.com,localhost,127.0.0.1
ORIGIN_RATE_LIMIT_WINDOW_SECONDS=1
UNCACHED_QUERY_RATE_LIMIT=10
POINT_MISS_RATE_LIMIT=20
NEGATIVE_CACHE_TIMEOUT=15
NEGATIVE_CACHE_MAX_ENTRIES=1024
CACHE_SINGLEFLIGHT_WAIT_SECONDS=0
CACHE_FILL_LOCK_SECONDS=15
CACHE_TTL_JITTER_RATIO=0.1
使用するmongodbや変数名は自由に編集してください。kevin.gtfkd.com/* でホストしているKEVinの本番用と開発用のmongodbで作業しているため、ここには両方が含まれています。
PUBLIC_BASE_URL は、ホームページのメタデータで使用される正規の公開オリジンです。
TRUSTED_HOSTS は、受け入れ可能なHTTP Hostヘッダーのカンマ区切りの許可リストです。
ローカルのヘルスチェックやリバースプロキシで使用されるホスト名を含めてください。
オリジン受け入れ設定は起動時に一度だけ読み込まれます。Redisはワーカー間で
共有されるウィンドウ単位の制限を適用します。UNCACHED_QUERY_RATE_LIMIT は
リストおよびrecent-KEVのキャッシュミスを対象とし、POINT_MISS_RATE_LIMIT はpoint、
RSS、metricsのミスを対象とします。キャッシュされた2xxおよび4xxレスポンスは同じTTLを共有します。
フィルロック(CACHE_FILL_LOCK_SECONDS)はオーナートークンを用いてワーカー間の
オリジン処理を直列化します。CACHE_SINGLEFLIGHT_WAIT_SECONDS はデフォルトで0のため、
競合したキーは即座に失敗します。また CACHE_TTL_JITTER_RATIO は secrets.randbelow を用いて
有効期限を分散させます。
カーディナリティの高い /kev 検索やactorのバリアントはRedisの対象外です。完全一致の
繰り返しは、上限付きのインプロセスキャッシュを使用します。
手動のpointリソースもまた、Redisの前段のL1キャッシュとして、最大 NEGATIVE_CACHE_MAX_ENTRIES
件の短命なローカルミスを保持します。
MongoDBのセットアップ:
update.pyの実行
update.py はCISAからデータを取得し、あなたのmongodbに投入します。お楽しみください。
以下は、KEVinのWeb側をデプロイするためのdocker-compose.ymlファイルの例です。
必ず.envファイルに正しい値が設定されていることを確認してください!!!
version: '3'
services:
flask_app:
build:
context: . # The build context is now the KEVin folder
dockerfile: Dockerfile # Use the Dockerfile we created inside KEVin
container_name: KEVin
env_file:
- .env
networks:
- gtfkdProd
ports:
- "8444:8444" # Map host port to container port
restart: unless-stopped
networks:
gtfkdProd:
external: true
/kev/CVE-2023-1234/kev/kev/new/7/vuln/<string:cve_id>/vuln/<string:cve_id>/nvd/kev?search=Microsoftmongodbを広くインターネットに公開すべきではありません。
コントリビューションを歓迎します!問題を見つけた場合や改善のアイデアがある場合は、お気軽にissueを開くか、pull requestを送ってください。現時点では、これを改善するための時間をあまり確保できません。