
akto v2.14.9
積極的な、オープンソースのAPIセキュリティ → API発見、APIセキュリティ態勢、CI/CDでのテスト、1000以上のテストを持つテストライブラリ、カスタムテストの追加、機密データの露出
Akto.io API セキュリティ
コントリビューター
Akto とは?
仕組み • はじめ方 • API インベントリ • API テスト • テストの追加 • Discord コミュニティに参加 •
Akto は、わずか 60 秒で使い始められる、インスタントでオープンソースの API セキュリティプラットフォームです。Akto はセキュリティチームによって、API の継続的なインベントリの維持、API の脆弱性テスト、ランタイムの問題の発見に使用されています。Akto は、BOLA、認証、SSRF、XSS、セキュリティ設定など、OWASP Top 10 と HackerOne Top 10 の全カテゴリをカバーしています。Akto の強力なテストエンジンは、トラフィックデータを読み取って API トラフィックパターンを理解することで、さまざまなビジネスロジックテストを実行し、誤検知を減らします。Akto は、burpsuite、AWS、postman、GCP、ゲートウェイなど、複数のトラフィックソースと統合できます。今四半期の公開ロードマップはこちらです。
Akto は、セキュリティチームとエンジニアリングチームが次の 3 つの方法で API を保護できるようにします。
仕組み
ステップ 1: インベントリを作成
ステップ 2: テストを実行
はじめ方
docker-compose を使用する(Docker がインストールされた任意のマシンで動作します)
次のコマンドを実行して Akto をインストールします。コンテナを実行するには、curl と Docker がインストールされている必要があります。
- 次のコマンドを使用して Akto リポジトリをクローンします:
git clone https://github.com/akto-api-security/akto.git - クローンしたディレクトリに移動します:
cd akto docker-compose up -dを実行します
独自のクラウド(AWS/GCP/Heroku)でセットアップする場合は、このセクションをお読みください
セキュリティ上のベストプラクティスのために、以下を確認してください。
-
ポート 9090 のみのインバウンドセキュリティルールを開放します。また、送信元 CIDR を VPC CIDR または自身の IP のみに制限します。
-
プライベートサブネットの EC2 を使用します -
a. これにより、誰もマシンへのインバウンドリクエストを行えなくなります。
b. このプライベートサブネットがインターネットにアクセスできることを確認してください。アウトバウンドコールが成功するように!
c.
ssh -i pemfile ec2-user@vpn-public-instance -L 9090:private-instance:9090を使用して VPN 経由でインスタンスにアクセスするためのトンネリングを設定する必要があるかもしれません。d. ブラウザで
http://private-instance:9090にアクセスします。 -
パブリックサブネットの EC2 を使用します - お勧めしません! それでも行いたい場合は、2.b と 2.c をスキップできます。
http://ip:9090でインスタンスにアクセスするだけです。
アプリケーションのミラーリングされたトラフィックを提供できる場合、Akto はクラウドデプロイで非常に強力です(パフォーマンスへの影響は 0)。CI/CD でテストをスケジュールしたり、ダッシュボードに他のチームメンバーを招待したりすることもできます。そのためには、ここ から入手できる Akto Enterprise エディションをインストールしてください。ここ で詳細をお読みください。
API セキュリティテストチュートリアル
| タイトル | リンク |
|---|---|
| はじめに | https://www.youtube.com/watch?v=oFt4OVmfE2s |
| チュートリアル 1: SSRF ポートスキャン(OWASP API7:2023) | https://www.youtube.com/watch?v=WjNNh6asAD0 |
開発と貢献
VSCode Devcontainers を使用したクイックセットアップ
前提条件:
- VSCode をインストール
- VSCode Dev Containers 拡張機能をインストール
- Windows: Windows 10 Pro/Enterprise では Docker Desktop 2.0+。Windows 10 Home(2004+)では Docker Desktop 2.3+ と WSL 2 バックエンド が必要です。
- macOS: Docker Desktop 2.0+。
- Linux: Docker CE/EE 18.06+ と Docker Compose 1.21+。
注: Docker Desktop を使用する場合は、パフォーマンス向上のためにメモリ割り当てを 8 GB に変更することを検討してください。
手順:
リポジトリをクローンして VSCode で開く
- ターミナルを開く
mkdir ~/akto_codecd ~/akto_codegit clone https://github.com/akto-api-security/akto- VSCode で開く:
code akto
Dev Container を起動
- View > Command Palette に移動し、「Dev Containers: Reopen in Container」と入力します。

- Dev Container のセットアップが完了するまで待ちます。
- Web ブラウザで localhost:9090 を開いて Akto ダッシュボードを表示します。
手動セットアップ手順
前提条件
OpenJDK 8, node(v18.7.0+ リンク), npm(v8.15.0+), maven (v3.6.3 リンク), MongoDB (v5.0.3+ リンク)
リポジトリをクローン
mkdir ~/akto_codecd akto_codegit clone https://github.com/akto-api-security/akto
データベースのセットアップ
新しいターミナルタブを開くcd ~mkdir ~/akto_mongo_data<path_to_mongo_folder>/bin/mongod --dbpath ~/akto_mongo_data
フロントエンドのセットアップ
新しいターミナルタブを開くcd ~/akto_code/aktocd apps/dashboard/web/polaris_webnpm installnpm run hot
ダッシュボードのセットアップ
新しいターミナルタブを開くcd ~/akto_code/aktoexport AKTO_MONGO_CONN="mongodb://localhost:27017"export DASHBOARD_MODE="local_deploy"mvn clean installmvn --projects :dashboard --also-make jetty:run -Djetty.port=9090
テストのセットアップ
新しいターミナルタブを開くcd ~/akto_code/aktocd apps/testingexport AKTO_MONGO_CONN="mongodb://localhost:27017"mvn compile; mvn exec:java -Dexec.mainClass="com.akto.testing.Main"
Testing CLI ツールの使用
Testing CLI ツールを実行するには、次のコマンドを実行します
docker run -v ./:/out \ # needed to generate test report on host machine
-e TEST_IDS='JWT_NONE_ALGO REMOVE_TOKENS' \ # space separated test ids
-e AKTO_DASHBOARD_URL='<AKTO_DASHBOARD_URL>' \
-e AKTO_API_KEY='<AKTO_API_KEY>' \
-e API_COLLECTION_ID='123' \ # api collection id on which you want to run tests
-e TEST_APIS='https://demo.com/api/books https://demo.com/api/cars' \ # space separated apis from the api collection on which you want to run tests. If not present, all apis in the collection will be tested. [optional]
-e OVERRIDE_APP_URL='https://dummy.com' \ # If you want to test on a separate host. [optional]
aktosecurity/akto-api-testing-cli
試してみる
- お気に入りのブラウザで
localhost:9090を開きます - 初回ログイン時にはサインアップが必要です。次回以降はログインできます。
デバッグ
1. フロントエンドをデバッグするには、[ここ](https://devtools.vuejs.org/guide/installation.html) から Vue.js Chrome 拡張機能をインストールします。
2. バックエンドをデバッグするには、Web サーバーを実行する前に以下を実行します -
a. Java プロセスでデバッグを有効にするために MAVEN_OPTS 変数を設定します
export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081, -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.rmi.port=9010 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
b. Visual Studio Code で、任意の行番号をクリックしてブレークポイントを設定します。
c. Run and Debug モードから Java デバッガーをアタッチします。初めて行う場合は、「Create launch.json file」をクリックし、次に「Add configuration」をクリックします。「Java: Attach process by ID」を選択してファイルを保存します。

d. 実行中の Java プロセスの一覧が表示されます。Web サーバープロセスを選択してデバッガーをアタッチします。
貢献
このプロジェクトへの貢献を歓迎します。参加方法の詳細については、CONTRIBUTING.md をお読みください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。