Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitLabGitLab/gitlab-da/tutorials/security-and-governance/custom-scanner-integration/fern-pattern-scanner
静的分析脆弱性スキャナーコード分析DevSecOpsシークレット検出学習と教育
GitLabgitlab-da/tutorials/security-and-governance/custom-scanner-integration/fern-pattern-scanner

Fern Pattern Scanner

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
5352年前未レビュー

概要

選択したファイルをルールに記載されたパターンでスキャンします。これは、誤ってファイルに書き込んでしまったシークレットを見つけるために使用されます。このスキャナーは、カスタムスキャナーによって GitLab の[脆弱性レポート](https://docs.gitlab.com/ee/user/application_security/vulnerability_report/)にデータを投入できる仕組みを示すために使用されます。動作中のデモは、[Secret List](https://gitlab.com/gitlab-de/tutorials/security-and-governance/custom-scanner-integration/secret-list) プロジェクトのドキュメントに従って確認できます。

共有

Fern Pattern Scanner

Fern のパターンスキャナーへようこそ。このスキャナーは、指定されたファイルをスキャンし、rules/rules.yaml 内で定義されたパターンを regex を使用して検出します。その後、すべての検出結果を含むレポートが生成されます。このプロジェクトは、カスタムのセキュリティスキャナーを GitLab に統合する方法を示し、パイプラインセキュリティタブ、脆弱性レポート、マージリクエストウィジェット に入力するために使用できることを紹介するためのものです。

注: 脆弱性レポートにアクセスするには、GitLab Ultimate のサブスクリプションが必要です。

GitLab CI/CD パイプラインへのスキャナーの追加

このセキュリティスキャナーを有効にするには、.gitlab-ci.yml に以下を追加します:

root@kitploit:~
include:
  - remote: "https://gitlab.com/gitlab-de/tutorials/security-and-governance/custom-scanner-integration/fern-pattern-scanner/-/blob/main/jobs/.fern-pattern-scanner.gitlab-ci.yml" 

スキャナーが実行されている様子は、Secret List プロジェクトで確認できます。スキャナーが完了すると、 という名前のレポートが生成されます。そのレポートは検証され、 と に読み込まれます。

gl-secret-detection-report.json
脆弱性レポート
マージリクエストウィジェット

スキャナーが実行されているプロジェクト内の特定のパスをスキャン対象から除外したい場合は、以下の変数をカンマ区切りの値で設定できます:

root@kitploit:~
variables:
  FERN_ANALYZER_EXCLUDED_PATHS: "docs, tests"

独自のルールセットを読み込む

GitLab で独自の正規表現パターンのルールセットを実行する場合は、次の操作を行う必要があります:

  1. プロジェクト内のどこかに rules.yaml ファイルを作成します。rules.yaml ファイルは次のようになります。必要に応じて名前とパターンを追加し続けることができます。
root@kitploit:~
patterns:
  - name: 'PATTERN NAME 1'
    pattern: 'REGEX 1'
  - name: 'PATTERN NAME 2'
    pattern: 'REGEX 2'
  1. .gitlab-ci.yml ファイルを次の内容で上書きします:
root@kitploit:~
fern_secret_detection:
  script:
    - /app/fern-pattern-scanner scan --rules "/path/to/rules.yaml" --report
  1. コードをチェックインすると、スキャナーは新しいルールセットで実行を開始します。このスキャナーはコミットの差分をスキャンしません。プロジェクト全体からパターンを検索します。

  2. パイプラインが完了したら、Security タブ をクリックして、検出されたすべての問題を表示できます。GitLab Ultimate をお持ちの場合は、これらの問題は 脆弱性レポート でも確認できます。

ローカルでスキャナーを実行する

このスキャナーを使用すると、ローカルマシン上の選択したファイルタイプのパターンを検出できます。ローカルマシンでこのスキャナーを実行するには、以下の手順に従ってください:

  1. スキャナーをインストールします
root@kitploit:~
$ go install gitlab.com/gitlab-de/tutorials/security-and-governance/custom-scanner-integration/fern-pattern-scanner

注: これにより、ファイルが $GOBIN にダウンロードされます。Go を初めて使用する場合は、この playground で GO のインストールについて説明しています。

  1. rules.yaml ファイルをダウンロードします
root@kitploit:~
$ wget https://gitlab.com/gitlab-de/tutorials/security-and-governance/custom-scanner-integration/fern-pattern-scanner/-/raw/main/rules/rules.yaml

...
Resolving gitlab.com (gitlab.com)... 2606:4700:90:0:f22e:fbec:5bed:a9b9, 172.65.251.78
Connecting to gitlab.com (gitlab.com)|2606:4700:90:0:f22e:fbec:5bed:a9b9|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 283 [text/plain]
Saving to: ‘rules.yaml’

rules.yaml          100%[===================>]     283  --.-KB/s    in 0s

2023-05-20 16:02:46 (22.5 MB/s) - ‘rules.yaml’ saved [283/283]

注: このファイルは プロジェクト から直接ダウンロードすることもできます。

  1. ルールファイルを指定してスキャナーを実行します
root@kitploit:~
$ fern-pattern-scanner scan --rules path/to/rules.yaml

INFO[0000] The scanner is starting                      
INFO[0000] Skipping the following directories: []       
INFO[0000] Possible Vulnerability Detected: {Id:139999 Name:password variation 1 Message:The pattern in rule: password variation 1 was found in a file Description:The pattern in rule: password variation 1 was found in a file. Examine the file, remove and rotate your secret. Location:/Users/fern/Desktop/secret-list/.git/index Line:3} 
...
INFO[0000] The scanner completed successfully

Fern🌿 によって作成およびメンテナンスされています

  • LinkedIn
  • Twitter
ツールをダウンロード