# Eclipse IDE


Aikidoはプロジェクトを自動的にスキャンし、ハードコードされたシークレット（APIキー、トークン）や安全でないコードパターン（SQLインジェクション、パストラバーサルなど）を検出します。これにより、問題を早期に発見し、コードベースを安全に保つことができます。

スキャンはファイルを開いたり変更を保存したりするたびに自動的に実行されるため、開発の早い段階で問題を簡単に発見できます。

セキュリティ上の問題が見つかると、コード内で直接ハイライト表示され、Aikidoウィンドウに一覧表示されます。

## インストールと認証

{% stepper %}
{% step %}
[**Eclipse marketplace**](https://marketplace.eclipse.org/content/aikido-security) **にアクセスし、Aikido Pluginをインストールする**

Eclipseで `Help` > `Eclipse Marketplace...` に移動し、検索バーで「Aikido」を検索します。「Install」をクリックします。

<figure><img src="https://help.aikido.dev/_assets/385636613f87/image-223.png" alt=""><figcaption></figcaption></figure>

インストール後、Eclipseを再起動します。
{% endstep %}

{% step %}
**Aikidoで認証する**

Aikidoで [Eclipse統合画面](https://app.aikido.dev/settings/integrations/ide/eclipse) に移動し、トークンを作成します。

<figure><img src="https://help.aikido.dev/_assets/7ba27d16b58a/Screenshot-2026-02-04-at-18.27.13.png" alt=""><figcaption></figcaption></figure>

インストール後、EclipseでAikido Security Viewが自動的に開きます。開かない場合は、`Window` > `Show View` > `Other...` に移動し、Aikidoを検索して「Aikido Security」ビューを選択します。Aikido Securityビューで `Connect to Aikido` をクリックし、トークンを入力します。

<figure><img src="https://help.aikido.dev/_assets/22dc9f6c1b02/image-213.png" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**サンプルを試す**

以下は、拡張機能が正しく動作しているかを確認するために使用できるサンプルの `sample.java` ファイルです。29行目で1件のSAST問題、23行目で1件の露出したシークレットが検出されるはずです。

```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UserServlet extends HttpServlet {
    
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse res) 
            throws IOException {
        String connStr = "jdbc:sqlserver://myserver.database.windows.net:1433;" +
                        "database=mydb;" +
                        "user=myuser;" +
                        "password=$uperSecret123!@#;" +
                        "encrypt=true;" +
                        "trustServerCertificate=false;" +
                        "loginTimeout=30;";
        
        String username = req.getParameter("username");
        String unsafeQuery = "SELECT * FROM users WHERE username = '" + username + "'";
        
        try (Connection conn = DriverManager.getConnection(connStr);
             Statement stmt = conn.createStatement();
             ResultSet result = stmt.executeQuery(unsafeQuery)) {
            
            // Convert ResultSet to JSON-like structure
            List<Map<String, Object>> resultList = new ArrayList<>();
            int columnCount = result.getMetaData().getColumnCount();
            
            while (result.next()) {
                Map<String, Object> row = new HashMap<>();
                for (int i = 1; i <= columnCount; i++) {
                    row.put(result.getMetaData().getColumnName(i), 
                           result.getObject(i));
                }
                resultList.add(row);
            }
            
            res.setStatus(200);
            res.setContentType("application/json");
            res.getWriter().write(new Gson().toJson(resultList));
            
        } catch (Exception e) {
            res.setStatus(500);
            res.getWriter().write("Error: " + e.getMessage());
        }
    }
}
```
{% endstep %}
{% endstepper %}

### アンインストール

Aikido Eclipseプラグインをアンインストールするには:

`Help` > `Eclipse Marketplace...` > `Installed` に移動し、Aikido Securityを探して `Uninstall` をクリックします
