Rule Customization

룰 작성에 사용되는 구조

Custom 룰 구조
설명

rules (Rules)

탐지를 위한 룰을 저장

rule-tests (Tests)

룰 검증을 위한 테스트 파일

utils

신규 룰 작성시 재사용할수 있게 미리 만들어둔 룰 (유틸)

Rules - 룰 파일 구성

필드
설명

id

고유 식별 룰 ID

message

짧은 룰 제목

description

탐지에 대한 설명

language

탐지 대상 언어

metadata

cwe, category, reference, technology 등 다양한 데이터 저장

(metadata) severity

critical | high | medium | low | info 로 취약점 중요성 표시

(metadata) fix_description

조치 방안/대응 관련 내용 포함

rule

탐지 룰

룰 예제

id: log4j-logger-info
message: Log4j Logger info 사용
description: Log4j Logger info 함수 사용 여부를 탐지 합니다.
language: Java
metadata:
  category: security
  severity: info
  fix_description: |-
    Log4j에 취약한지 안전한 버전을 확인하시길 바랍니다.....
  references: https://www.cisa.gov/news-events/news/apache-log4j-vulnerability-guidance
rule:
  pattern: org.apache.logging.log4j.Logger.info($$$)

Rule-tests - 테스트 파일 구성

필드
설명

id

룰 아이디 (웹에서는 불필요)

valid

문제 없는 코드 (미탐 대상)

invalid

문제 있는 코드 (탐지 대상)

룰 테스트 예제

Utils 구성

필드
설명

id

고유 식별 룰 ID

language

탐지 대상 언어

rule

탐지 룰

Util 예제

룰 내 Util 사용 예제

Last updated