CodeSweep GitHub アクション
HCL AppScan CodeSweep for GitHub アクションを使用すると、プル要求ごとにコードをチェックできます。このアクションは、更新ごとに変更されたコードの脆弱性を特定します。しかし、問題を特定するだけでなく、HCL AppScan CodeSweep for GitHub 拡張機能によって、問題をメイン分岐に移行する前に、問題を軽減するために知っておくべき情報が提供されます。
チュートリアル
登録
HCL AppScan on Cloud (ASoC) に登録して API 鍵/秘密を生成します。
セットアップ
- ASoC にログインしたら、API ページに移動して API 鍵/秘密のペアを生成します。これらは、アクションの
asoc_keyおよびasoc_secretパラメーターで使用する必要があります。これらのパラメーターを秘密としてリポジトリーに保存します
- リポジトリーの「ワークフロー許可」が「読み取りおよび書き込み許可」に設定されていることを確認します。これにより、CodeSweep はファイルをスキャンし、検出された問題のチェックランとアノテーションを作成できます。これらの設定には、からアクセスします。
- プル要求を開いたときにコードの変更をスキャンするには、次のファイルを
.github/workflows/codesweep.ymlの下のリポジトリーに追加するか、既存のワークフロー・ファイルを更新します。name: "HCL AppScan CodeSweep" on: pull_request: types: [opened,synchronize] jobs: scan: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Run AppScan CodeSweep uses: HCL-TECH-SOFTWARE/appscan-codesweep-action@v2.1 env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}注: checkout@v2 以降を使用する場合は、fetch-depth を 0 に設定する必要があります。例:uses: actions/checkout@v2 with: fetch-depth: 0 - プル要求をマージするときにセキュリティーの問題を ASoC に公開するには、次のファイルを
.github/workflows/codesweep_publish.ymlの下のリポジトリーに追加するか、既存のワークフロー・ファイルを更新します。name: "HCL AppScan CodeSweep" on: pull_request: types: [closed] jobs: publish: runs-on: ubuntu-latest steps: - name: Publish issues to ASoC uses: HCL-TECH-SOFTWARE/appscan-codesweep-action@v2.1 with: asoc_key: ${{secrets.ASOC_KEY}} asoc_secret: ${{secrets.ASOC_SECRET}} publish_on_merge: true application_id: <your ASoC application ID> env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
スキャンのオプション・パラメーター
| パラメーター | 説明 | 値 | デフォルト |
|---|---|---|---|
status |
セキュリティーの問題が検出されたかどうかの確認の状況。 |
|
neutral |
service_url |
AppScan 360° インスタンスの URL。AppScan 360° への接続に必要です。 | インストール時に定義された AppScan 360° サービス URL。 | AppScan on Cloud サービス URL (cloud.appscan.com) |
acceptssl |
信頼できない証明書を持つ AppScan サービスへの接続を許可します。テスト目的のみに推奨されます。 |
with:
status: failureAppScan on Cloud に問題を公開するためのオプション・パラメーター
| パラメーター | 説明 | 値 | デフォルト |
|---|---|---|---|
service_url |
AppScan 360° インスタンスの URL。AppScan 360° への接続に必要です。 | インストール時に定義された AppScan 360° サービス URL。 | AppScan on Cloud サービス URL (cloud.appscan.com) |
issue_status |
ASoC に公開される問題の状況。 |
|
open |
scan_base_name |
ASoC | 指定したベース名にタイムスタンプが付加されます。 | GitHub_CodeSweep |
personal_scan |
ASoC |
|
true |
with:
publish_on_merge: true
application_id: 6c058381-17ca-e711-8de5-002590ac753d
issue_status: "inprogress"
scan_base_name: "CodeSweep"
personal_scan: true
例
差分ビューに注釈が追加され、脆弱なコード行が表示され、チェック実行が追加されて、正しいコード・サンプルや不正なコード・サンプル、緩和策情報など、追加の詳細が提供されます。
サポート対象の言語
HCL AppScan CodeSweep アクションでは、次の言語/方言のスキャンがサポートされています。
| 言語 | |||
|---|---|---|---|
| Android-Java | Groovy | NodeJS | Ruby |
| Angular | IaC (Docker、K8s、Terraform) | Objective-C/Objective-C++ | Scala |
| Apex | Ionic | PHP | Swift |
| C/C++ | Java | PL/SQL | T-SQL |
| Cobol | JavaScript | Perl | TypeScript |
| ColdFusion | JQuery | Python | VueJS |
| Dart | Kotlin | React | .Net (C#、VB.NET、ASP.Net) |
| GoLang | Mootools | React Native | Xamarin |
トラブルシューティング
問題: セキュリティー・スキャンは実行されますが、検出されたセキュリティー問題に対してチェック実行や注釈は作成されません。ワークフロー・ログには、次のエラーが含まれます。
Error: Failed creating checkrun: HttpError: Resource not accessible by integration
解決方法: このエラーは、ワークフローにリポジトリーへの書き込み許可が設定されていないため、CodeSweep でチェックランとアノテーションを作成できないことを示します。これを修正するには、に移動し、「ワークフロー許可」を「読み取りおよび書き込み許可」に設定します。
コミュニティーへの参加
CodeSweep Slack チャネルを使用して、HCL AppScan CodeSweep アクションに関するフィードバックをレポートしたり、一般的な質問をしたりします。