# SAST/IaC: 対応言語とセキュリティ重点分野

SAST（静的解析）は、信頼できない入力がデータベースクエリに到達するなど、既知の危険なパターンがないかソースコードをチェックします。接続されたリポジトリとプルリクエストを通じて [PRゲーティング](https://help.aikidogov.us/docs/docs-ja/pr-and-release-gating/aikido-ci-gating-functionality)。実行中のアプリは必要ありません。

SASTは、既知のパターンに見えないロジックや認可のバグは検出できません。プルリクエストの影響については、 [詳細レビュー](https://help.aikidogov.us/docs/docs-ja/deep-review/how-deep-review-works)既存のソースについては、 [AIコード解析](https://help.aikidogov.us/docs/docs-ja/ai-code-analysis/ai-code-analysis)SASTに対応する品質面の手法は [コード品質](https://help.aikidogov.us/docs/docs-ja/code-quality/code-quality-overview).

参照 [どの Aikido 製品を使うべきですか？](https://help.aikidogov.us/docs/docs-ja/getting-started/which-aikido-product-should-i-use).

### AikidoのSASTが現在どのように動作するか <a href="#how-aikido-sast-currently-works" id="how-aikido-sast-currently-works"></a>

AikidoのSASTエンジンは、コード内のセキュリティ問題を見つけて優先順位付けするために作られています。ノイズはなく、修正すべき脆弱性だけを表示します。

AikidoのSASTエンジンは、当社の **カスタムのリスク分類モデル**。これらの分類の一部は以下のとおりです：-

* Aikidoは、セキュリティに関係のない検出結果（例：独自のコードスタイル規則）を除外します。
* ユーザーが機密と分類したリポジトリ内の検出結果は、より高い優先度に引き上げられます。
* 本番向けではないファイル内の検出結果（例：単体テストや本番で使用されない関数）は、優先度が下げられることがあります。

当社のSASTエンジンは、優れたオープンソースエンジンも活用しており、長年にわたって大幅にカスタマイズとチューニングを行い、より鋭く関連性の高い結果を提供しています。

言語ごとに有効な個別ルールをすべて確認するには、 [SASTチェック](https://app.aikido.dev/repositories/sast) または [Infrastructure as Code](https://app.aikido.dev/repositories/iac) 言語ごとのルールを確認するためのチェック。

### 言語サポート <a href="#language-support" id="language-support"></a>

Aikidoは、言語のバージョンには依存しません。デフォルトでは、すべてのバージョンをサポートしています。\
Aikidoは、増え続ける言語セットにおいて、トップレベルのコントローラから危険な関数が使用されている他のファイルまで、汚染されたユーザー入力の追跡をサポートしています。

| **Language**                                                         | **ベースエンジン**                            | **汚染解析**     |
| -------------------------------------------------------------------- | -------------------------------------- | ------------ |
| JavaScript                                                           | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| TypeScript                                                           | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| PHP                                                                  | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| .NET/C#                                                              | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| Java                                                                 | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| Rust                                                                 | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| Go                                                                   | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| Ruby                                                                 | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| Python                                                               | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| Scala                                                                | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| C/C++                                                                | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| Visual Basic                                                         | Aikido Engine + Opengrep               | 複数ファイルにまたがって |
| Swift                                                                | Aikido Engine + Opengrep               | ファイル内で       |
| Android                                                              | Aikido Engine + Opengrep               | ファイル内で       |
| Kotlin                                                               | Aikido Engine + Opengrep               | ファイル内で       |
| Dart                                                                 | Aikido Engine + Opengrep               | ファイル内で       |
| Elixir                                                               | Aikido Engine + Opengrep               | ファイル内で       |
| Apex                                                                 | Aikido Engine + Opengrep               | ファイル内で       |
| Clojure                                                              | Aikido Engine + Opengrep               | ファイル内で       |
| Infrastructure-as-codeファイル（Terraform、CloudFormation、Docker、Pulumiなど） | Aikido Engine + Checkov                | 該当なし         |
| Git履歴内のすべてのファイルにある露出したシークレットの検出                                      | Livenessチェック付きAikidoベースエンジン + Gitleaks | 該当なし         |
