
CISA 알려진 악용 취약점 카탈로그에 대한 REST API로, CVE 조회, 최근 KEV 추가 항목, 텍스트 검색, 그리고 CISA, MITRE, NVD 데이터를 병합한 정보를 제공합니다.
CISA의 알려진 악용 취약점 카탈로그(여기)를 위한 누락된 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은
목록 및 최근 KEV 캐시 미스를 처리하고, POINT_MISS_RATE_LIMIT은 포인트,
RSS, 메트릭 미스를 처리합니다. 캐시된 2xx 및 4xx 응답은 동일한 TTL을 공유합니다.
채우기 잠금(CACHE_FILL_LOCK_SECONDS)은 소유자 토큰을 사용하여 워커 간의
오리진 작업을 직렬화하며, CACHE_SINGLEFLIGHT_WAIT_SECONDS는 기본값이 0이므로
경합이 발생한 키는 즉시 실패하고, CACHE_TTL_JITTER_RATIO는 secrets.randbelow로 만료를 분산시킵니다.
카디널리티가 높은 /kev 검색 및 액터 변형은 Redis에서 제외되며, 정확히
반복되는 요청은 제한된 인프로세스 캐시를 사용합니다.
수동 포인트 리소스는 또한 Redis 앞의 L1 캐시로서 최대 NEGATIVE_CACHE_MAX_ENTRIES개의
단기 로컬 미스를 유지합니다.
MongoDB 설정:
update.py 실행
update.py는 CISA에서 데이터를 가져와 mongodb를 채웁니다. 즐기세요.
다음은 KEVin의 웹 부분을 배포하기 위한 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를 광범위한 인터넷에 노출해서는 안 됩니다.
기여를 환영합니다! 문제를 발견하거나 개선 아이디어가 있으면 언제든지 이슈를 열거나 풀 리퀘스트를 제출해 주세요. 현재로서는 이를 개선할 시간이 많지 않습니다.