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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
credactor — スキャン。編集。クリーンコミット。 | Kitploit
ツール/GitHubGitHub/rxb06/credactor
静的分析脆弱性スキャナーコード分析DevSecOpsシークレット検出サプライチェーンセキュリティ
GitHubrxb06/credactor

credactor

スキャン。編集。クリーンコミット。

リポジトリを見る
813時間16分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

PyPI CI License

Credactor

シークレットを見つけて、修正し、クリーンな状態でコミットしましょう。

シークレットスキャナーは警報を鳴らすのは得意ですが、その後の消火にはあまり役に立ちません。漏洩した認証情報のリストを手渡して、後始末はあなた任せです。Credactor はそのループを閉じます。ハードコードされたシークレットを見つけ、その場で書き換えるため、漏洩が検出から修正まで一つのコマンドで完了します。

認証情報をソースコードから排除することは、基本中の基本のセキュリティ対策であり、オプションではありません。Credactor はその基本をコスト安く維持できるようにします。コミット前の自分のマシンでも、マージ前の CI でも実行できます。単独で動かすことも、すでに信頼しているスキャナーと併用することも可能です。

Credactor: scan, redact, commit clean
root@kitploit:~
# Credactor はこれを見つけます:
db_password = "h8Tq2vKp9mRz4Wd"

# デフォルトでは、シークレットを実行時に大声で失敗するセンチネルに書き換えます:
db_password = "REDACTED_BY_CREDACTOR"

# --replace-with env を使うと、環境変数を読み取る参照を書き込みます:
db_password = os.environ["DB_PASSWORD"]

編集は ワーキングツリー 内のファイルを書き換えます。シークレットがすでにコミットされている場合は、キーをローテーションし、履歴もスクラブしてください(例:git filter-repo を使用)。ファイルの書き換えは、漏洩した認証情報を無効化する代わりにはなりません。


Credactor の特長

  • 検出だけでなく編集も行います。 ほとんどのスキャナーは発見で止まります。Credactor はその場でシークレットを置き換えます。デフォルトでは実行時に失敗する REDACTED_BY_CREDACTOR というセンチネル、あるいは言語に応じた環境変数参照(Python、JavaScript/TypeScript、Go、Java/Kotlin、Ruby、PHP、シェル)例えば os.environ["KEY"] に置き換えます。置き換え後のコードは有効です。ファイルに該当する import(例:import os)がまだ含まれていない場合は、追加してください。
  • デフォルトで安全です。 アトミック書き込み、自動 .bak バックアップ、シンボリックリンク境界とファイルパーミッションのガード、すべての出力における完全なシークレットマスキング。安全なバックアップが書き込めない場合は、ファイルを盲目的に書き換えるのではなくスキップし、書き込み中のクラッシュでも元のファイルはそのまま残ります。
  • ゼロランタイム依存関係。 純粋な Python 3.11+ 標準ライブラリ、非 UTF-8 エンコーディング用のオプションの追加パッケージのみ。
  • パイプライン向けに設計されています。 GitHub Code Scanning 用の SARIF 出力、精密な終了コードを備えた読み取り専用の --ci ゲート、pre-commit フック(ベータ版)、Gitleaks または TruffleHog レポートの取り込み(ベータ版、さらに追加予定)。Gitleaks や TruffleHog で検出し、Credactor で修復します。

インストール

root@kitploit:~
pip install credactor

Python 3.11+ が必要です。その他の依存関係はありません。Linux、macOS、Windows で動作します(CI テストは Linux と Windows で実施)。

ソースからインストールする場合:

root@kitploit:~
git clone https://github.com/rxb06/credactor.git
cd credactor
pip install -e .

その後、任意のディレクトリから credactor が使用できるようになります。

クイックスタート

編集する前に、まず --dry-run を実行して結果を確認してください。誤検知が発生する可能性があり、--fix-all を使用すると誤検知も書き換えられてしまいます。既知の安全な値は # credactor:ignore または .credactorignore エントリで抑制してください。

root@kitploit:~
credactor --dry-run .                 # スキャンのみ、変更なし
credactor .                           # スキャン後、対話的に編集(発見ごとに y/n)
credactor --fix-all .                 # 1回の確認後、すべて編集
credactor --fix-all --yes .           # 非対話的に編集(CI / スクリプト向け)
credactor --ci .                      # 読み取り専用ゲート:発見があると終了コード1
credactor --replace-with env .        # センチネルの代わりに環境変数参照に編集

Pre-commit フック(ベータ版)

フックの統合はベータ版です。信用する前に手動で credactor --dry-run . を実行してください。

root@kitploit:~
# .pre-commit-config.yaml
repos:
  - repo: https://github.com/rxb06/credactor
    rev: v2.5.0   # 最新のリリースタグに固定
    hooks:
      - id: credactor

検出

Credactor は最も頻繁に漏洩する認証情報の種類を検出し、それぞれに重要度を割り当ててひと目でトリアージできるようにします。

決定論的なプロバイダートークン(上記の接頭辞)は、エントロピーに関係なくフラグが立てられます。ヒューリスティック検出器(JWT、接続文字列、16進数、Base64)は、エントロピーの下限をクリアする必要があります。単独の16進数またはBase64は、引用符で囲まれている場合のみフラグが立てられます。引用符で囲まれていない高エントロピー値は、認証情報という名前の変数でのみ捕捉され、これにより git SHA やチェックサムは除外されます。完全な検出ルールと重要度については、マニュアル を参照してください。

Credactor のネイティブルールセットは専用のスキャナーよりも狭く、一部のプロバイダー形式(例:SendGrid、Twilio、Slack ウェブフック)は検出されません。その強みは修復にあります。最も広範な検出のために Gitleaks または TruffleHog と組み合わせるか、単独で実行してください。

別のスキャナーと組み合わせて一括編集(ベータ版)

Credactor は単独でも動作しますが、他のツールと組み合わせることでさらに強力になります。すでに Gitleaks または TruffleHog を実行していますか?そのレポートを Credactor に渡すと、Credactor はそれらの結果を統合し、自身の発見結果と重複排除した上で編集します(重複時は重要度の高い方が優先されます)。1回の修復パスで、あなたのスキャン結果とそれらの結果の両方をカバーします:

root@kitploit:~
gitleaks dir . -f json -r gitleaks.json
credactor --from-gitleaks gitleaks.json --fix-all --yes .

--from-gitleaks / --from-trufflehog(または .credactor.toml の [ingest] テーブル)にはディレクトリターゲットが必要です。CI 統合ガイド を参照してください。

その他の機能

  • 対話型またはバッチ編集。カスタム置換文字列は --replacement で指定。--scan-history で git コミット履歴をスキャン。
  • 安全なバックアップ: --secure-delete(.bak ファイルを上書きして削除; カジュアルな復元を防ぐためのものであり、フォレンジック保証はありません)、または --secure-backup-dir でリポジトリ外にバックアップを保存。
  • インライン # credactor:ignore および .credactorignore による許可リスト(グロブ、file:line、値リテラル)。
  • リポジトリごとの設定を .credactor.toml で管理。
  • 標準で29種類のソース/設定/ノートファイルタイプ(.txt を含む)に対応。--scan-json で JSON を含める。--fail-on-error で読み取り不可ファイルがある場合に失敗。

スキャン対象ファイルタイプ

.py .js .ts .jsx .tsx .sh .bash .env .cfg .ini .toml .yaml .yml .rb .go .java

さらに .env.* / .env-* 形式(.env.local、.env.production)および SSH / 秘密鍵ファイル(id_rsa、id_dsa、id_ecdsa、id_ed25519)は、拡張子ではなくファイル名でマッチします。JSON はデフォルトで除外されます(API レスポンスが多くの誤検知を生むため)。含めるには --scan-json を追加してください。コマンドラインで直接指定されたファイルは、その拡張子がリストになくてもスキャンされます。

終了コード

コード意味
0発見なし、またはすべて解決済み
1

サプライチェーンの強化

セキュリティツールは、実行時に安全であるだけでなく、インストール時にも安全であるべきです。Credactor のビルドとリリースパイプラインはエンドツーエンドで強化されています。詳細は セキュリティ文書 を参照してください。

  • ゼロランタイム依存関係。 デフォルトの pip install credactor はサードパーティパッケージを一切引き込みません(オプションの [encoding] 追加パッケージを除く)。そのため、インストール時に調査すべきものはありません。
  • ハッシュピン留めされたツールチェーン。 CI とリリースビルドは --require-hashes ロックファイルからインストールされ、ビルドバックエンドも含めて(ピン留めされた setuptools に対して python -m build --no-isolation を使用)、改変された依存関係はビルドを失敗させます。
  • 成果物はソースとバイトレベルで検証されます。 プッシュのたび、公開のたびに、scripts/audit_wheel.py がホイールと sdist をコミットされたソースとバイト単位で比較します(sha256 vs git HEAD)。追加、欠落、変更されたファイルがあるとゲートが失敗するため、ビルドステップでコードが密かに注入されることはありません。
  • SHA ピン留め、最小権限の CI。 GitHub Actions はコミット SHA にピン留めされ、ワークフロートークンは狭い範囲に保たれています。デフォルトでは contents: read、公開ジョブでのみ id-token: write です。

ドキュメント

ライセンス

Apache 2.0。 LICENSE を参照してください。

ツールをダウンロード
カテゴリ例重要度
クラウドプロバイダーキーAWS (AKIA…)、GCP (AIza…)、Stripe (sk_live_…)、Slack (xoxb-…)Critical
プラットフォームトークンGitHub (ghp_, github_pat_)、GitLab (glpat-)、npm (npm_)、PyPI (pypi-)Critical
秘密鍵PEM ブロック (-----BEGIN … PRIVATE KEY-----)Critical
JWTeyJ… 3セグメントトークンHigh
接続文字列インライン認証情報を含む URL (scheme://user:pass@host)High
認証情報変数password = "…", api_key = "…", secret_key = "…"High/Medium/Low
XML 属性<add key="Password" value="…" />High/Medium/Low
高エントロピー文字列引用符で囲まれた16進数(32~64文字) / Base64(60文字以上)Medium/Low
.php
.cs
.kt
.tf
.hcl
.conf
.config
.properties
.xml
.pem
.key
.crt
.txt
未解決の発見あり
2エラー(例: 不正なパス、危険な --replacement、--ci --fix-all、または --fail-on-error で読み取り不可ファイル)
文書説明
セットアップガイドインストール、設定、CI/CD 統合
マニュアル完全なリファレンス:すべてのフラグ、モード、組み合わせ、置換とバックアップの動作、検出と重要度、終了コード、制限事項(動作はテストで検証済み)
例出力付きの一般的なワークフロー
CI 統合Pre-commit フック、CI パイプライン
セキュリティ脅威モデル、強化策、既知の制限
変更履歴バージョン履歴
コントリビューション開発環境のセットアップ、コードスタイル、PR プロセス
免責事項制限事項、安全な使用法、保証