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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
whispers — 静的構造化テキスト内のハードコードされたシークレットを特定する | Kitploit
ツール/GitHubGitHub/skyscanner/whispers
静的分析脆弱性分析コード分析構成監査DevSecOpsシークレット検出サプライチェーンセキュリティArchived
GitHubskyscanner/whispers

whispers

静的構造化テキスト内のハードコードされたシークレットを特定する

リポジトリを見る
506702年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

Whispers Whispers

「私の小鳥たちはどこにでもいる。北でも、彼らは私に最も奇妙な物語を囁く。」 - ヴァリス卿

Whispersは、ハードコードされた認証情報や危険な関数を検索するために、さまざまな一般的なデータ形式を解析するように設計された静的コード解析ツールです。WhispersはCLIで実行することも、CI/CDパイプラインに統合することもできます。

検出項目

  • パスワード
  • APIトークン
  • AWSキー
  • 秘密鍵
  • ハッシュ化された認証情報
  • 認証トークン
  • 危険な関数
  • 機密ファイル

サポートされている形式

Whispersは、構造化テキストパーサーであり、コードパーサーではありません。

現在サポートされている一般的なフォーマットは以下の通りです:

  • YAML
  • JSON
  • XML
  • .npmrc
  • .pypirc
  • .htpasswd
  • .properties
  • pip.conf
  • conf / ini
  • Dockerfile
  • Dockercfg
  • シェルスクリプト
  • Python3

Python3ファイルは、ネイティブ言語サポートによりASTとして解析されます。

宣言と代入の形式

以下の言語ファイルはテキストとして解析され、一般的な変数宣言と代入パターンがチェックされます:

  • JavaScript
  • Java
  • Go
  • PHP

特別な形式

  • AWS認証情報ファイル
  • JDBC接続文字列
  • Jenkins設定ファイル
  • SpringFramework Beans設定ファイル
  • Javaプロパティファイル
  • Dockercfgプライベートレジストリ認証ファイル
  • GitHubトークン

インストール

PyPIから

root@kitploit:~
pip3 install whispers

GitHubから

root@kitploit:~
git clone https://github.com/Skyscanner/whispers
cd whispers
make install

使用方法

CLI

root@kitploit:~
whispers --help
whispers --info
whispers source/code/fileOrDir
whispers --config config.yml source/code/fileOrDir
whispers --output /tmp/secrets.yml source/code/fileOrDir
whispers --rules aws-id,aws-secret source/code/fileOrDir
whispers --severity BLOCKER,CRITICAL source/code/fileOrDir
whispers --exitcode 7 source/code/fileOrDir

Python

root@kitploit:~
from whispers.cli import parse_args
from whispers.core import run

src = "tests/fixtures"
configfile = "whispers/config.yml"
args = parse_args(["-c", configfile, src])
for secret in run(args):
  print(secret)

設定

Whispersにはいくつかの設定オプションがあります。ファイルパス、キー、または値に基づいて結果を含める/除外することが可能です。ファイルパスの指定はグロブとして解釈されます。キーと値は正規表現やその他のパラメータを受け付けます。カスタム設定ファイルを提供しない場合に使用されるデフォルトの設定ファイルが組み込まれています。

config.ymlは以下の構造を持つ必要があります:

root@kitploit:~
include:
  files:
    - "**/*.yml"

exclude:
  files:
    - "**/test/**/*"
    - "**/tests/**/*"
  keys:
    - ^foo
  values:
    - bar$

rules:
  starks:
    message: Whispers from the North
    severity: CRITICAL
    value:
      regex: (Aria|Ned) Stark
      ignorecase: True

検出を調整する(つまり、誤検知や不要な結果を削除する)最も早い方法は、デフォルトのconfig.ymlを新しいファイルにコピーし、それを適応させてWhispersに引数として渡すことです。

whispers --config config.yml --rules starks src/file/or/dir

カスタムルール

ルールは、キーと値のペアから実際に抽出すべきものを指定します。AWSキーやパスワードなどの一般的なルールが組み込まれていますが、新しいルールで簡単に拡張できるように設計されています。

  • カスタムルールはメイン設定ファイルのrules:以下で定義できます。
  • カスタムルールはwhispers/rulesに追加できます。
root@kitploit:~
rule-id:  # 一意のルール名
  description: Values formatted like AWS Session Token
  message: AWS Session Token  # レポートに表示されるメッセージ
  severity: BLOCKER           # BLOCKER, CRITICAL, MAJOR, MINOR, INFO のいずれか

  key:        # キーの形式を指定
    regex: (aws.?session.?token)?
    ignorecase: True   # 大文字小文字を区別しない

  value:      # 値の形式を指定
    regex: ^(?=.*[a-z])(?=.*[A-Z])[A-Za-z0-9\+\/]{270,450}$
    ignorecase: False  # 大文字小文字を区別する
    minlen: 270        # 値の最小長
    isBase64: True     # 値がBase64エンコードされている
    isAscii: False     # デコードするとバイナリデータになる
    isUri: False       # URI形式ではない

  similar: 0.35        # キーと値の最大許容類似度(1.0で完全一致)

プラグイン

すべての解析機能はプラグインを介して実装されています。各プラグインは、ファイルをスキャンしてルールでチェックされるキーと値のペアを返すpairs()メソッドを持つクラスを実装します。

root@kitploit:~
class PluginName:
    def pairs(self, file):
        yield "key", "value"
ツールをダウンロード