ベースラインリビジョントリップワイヤーとは?

概要

ベースラインリビジョントリップワイヤーは、指定したファイルのあるリビジョンと同一ファイルの基準リビジョンを比較し、特定の変更があったかどうかを検出する仕組みです。変更が検出されるとインシデントが自動的に作成されます。

検出できる主な変更例

  • 特定行の追加または削除
  • 特定コメントの追加・変更・削除
  • 特定メソッドの変更
  • その他、設定された条件に合致する変更

対象ファイルが存在しない、または定義されたチェックが失敗した場合もインシデントが生成されます。

CodeQL での設定例

以下は、CodeQL において特定コメント(例:TODO コメント)の追加・削除を検知するベースラインリビジョントリップワイヤーの設定例です。

queries:
  - BaselineRevisionTripwire.ql
policies:
  - name: BaselineRevisionTripwirePolicy
    enabled: true
    severity: Medium
    query_ids:
      - BaselineRevisionTripwire
    conditions:
      - BaselineRevisionTripwireCondition:
          file: src/main/java/org/example/Service.java
          comment_checks:
            - match: "TODO(@[a-zA-Z0-9]+)"

旅行の安全 - 関連記事