AI APP SECURITY ASSESSMENT

AIアプリを、
本番につなぐ前に。

Teastiaは、コード・設定・権限を検査し、
導入可否を判定します。

01検出
セキュリティリスクの検出
02根拠
制度の指針番号を根拠に併記
03判定
導入可否をレポートで提示

THE QUESTION

納品されたAIが、
何を触り、どこへ送るか。
本番の前で、止める。

機能が動くだけでは、導入可否は判断できません。AIが触れるものと送る先をコードから確かめ、危ういつながりを本番につなぐ前に見つけます。

納品されたAIアプリのコードを中心にした3Dの図。左にAIが触れる書類のフォルダ(データ・ファイル)、右の境界の壁の外に、データの送り先のクラウド(AI会社・外部サービス)があります。2つの経路に立つTeastiaの門が、危ういつながりを本番の前で止めます。
  1. 01触れるものデータ・ファイル・権限
  2. 02送る先AI会社・外部サービス
  3. 03で止まる危ういつながりは、本番につなぐ前に

INSPECTION EXAMPLESコードで確認する3つのポイント

DATA ACCESS

AIは、どのデータを
操作できる?

データの読み取り・書き込み・削除などの権限を検出します。

db.ts
12const db = client.table("users")
13await db.delete()
14

データの削除権限を検出ユーザーデータを削除する操作が含まれています。

EXTERNAL CONNECTION

データは、どこへ
送られる?

外部APIの呼び出しや、外部サービスへの送信を検出します。

api.ts
28await fetch(
29  "https://api.example.com",
30  { method: "POST", body: payload })

外部へのデータ送信を検出外部サービスへの通信が含まれています。

BEFORE PRODUCTION

危ういつながりは、
本番の前で止まる。

見つかったつながりを判定書にまとめ、危ういものは「導入不可」として、本番につなぐ前に止めます。

導入判定書(抜粋)

  • 01 データの削除権限該当
  • 02 外部へのデータ送信条件つき

総合判定導入不可

で止まる直したあとに再検査し、判定の変化を確かめられます。

WHAT YOU RECEIVE

判断を、
持ち帰れる形に。

情シスや決裁者には導入判定書を。開発会社には直し方を。
会議ではAIが触る範囲を絵で共有できます。

04DELIVERABLES
ONE PACKAGE

02 / FOR DEVELOPERS

12client.delete(
13    table="users"
14)
15

削除権限の見直しが必要です

直し方の紙

どこを、どう直し、何で確かめるか。同じ項目番号で開発会社へ渡せます。

03 / FOR DISCUSSION

AIアプリ
社内データ 外部サービス 端末・システム

AIに何をさせているかの絵

AIが呼べる道具と、その先で触るものを一枚に整理します。

04 / FINAL QUESTIONS

判定を確定する質問票

コードだけでは分からない運用上の事実を10問で確認し、最終判定へ反映します。

回答者開発会社 / 情シス全10問
QUESTIONNAIRE10 QUESTIONS
一次判定判定できない Q1–Q10回答を確認 最終判定回答を反映
  • Q01

    鍵の保管場所判定できない → 該当なし

  • Q03

    契約しているAI会社判定できない → 該当

判定書で辿れること

  • 01総合判定と8項目
  • 02制度との対応
  • 03AIが呼べる道具
  • 04導入条件と確認事項
  • 05質問票と未検査範囲
  • 06調べた記録

EIGHT CHECKS

見るのは、
導入を止めうる
8つのこと。

判定は「該当」「条件つき」「該当なし」「判定できない」の4つ。
分からないものを、分かったことにはしません。

  • 該当
  • 条件つき
  • 該当なし
  • 判定できない
PRE-DEPLOYMENT REVIEW 導入前チェックマトリクス
8CHECK
POINTS
  1. 01 鍵やパスワードがプログラムの中に書かれていないかAPIキー・認証情報・機密情報の記載を検出
  2. 02 会社が知らない場所にデータを送っていないか外部API・外部サービスへの通信先を検出
  3. 03 会社が知らないAI会社・モデルを使っていないか利用するAIサービス・モデルの種類を確認
  4. 04 AIが人の許可なしに、消す・実行する・払うをできないか削除・実行・決済などの高リスクな操作を検出
  5. 05 AIが人の許可なしに、データを外に出せないかファイル送信・外部ストレージ連携の有無を確認
  6. 06 誰の権限で動いているか分かるか実行ユーザー・権限スコープを確認
  7. 07 古くて危ない部品を使っていないかライブラリの脆弱性・既知の問題を検出
  8. 08 問題が起きたとき止められるか停止手段・制限の仕組みがあるかを確認

HOW IT WORKS

本番につなぐ前に、
3つのステップで。

アプリを動かさず、コードを読みます。
項目は質問票で確認し、最終判定に反映します。

gitリポジトリまたはZIPでコードを共有する様子
INPUT SOURCE CODE

コードを用意する

検査対象のコードをgitまたはzipで共有します。
アプリの起動やnpm installは不要です。

質問票で確認しながらコードを読む様子
REVIEW 8 CHECKS

コードを読み、確認する

お客様の環境内で検査し、分からない点を
質問票で確認します。

最終判定書と、直し方の紙・AIが触る範囲の絵を受け取る様子
OUTPUT DECISION KIT

判断の材料を受け取る

最終判定書、直し方の紙、AIが触る範囲の絵を
お渡しします。

BUILT FOR TRUST

約束の隣に、
確かめ方を。

コードを預かるサービスだからこそ、「そう設計した」
だけで終わらせません。検査する道具の動きも、
機械で確認します。

AIの言葉だけで、
判定を変えない。

  1. 01
    コードの居場所を動かさない

    指定されたフォルダの外を読めないことを、範囲外を指すリンクを使った検査で確認します。

  2. 02
    検査中、黙って通信しない

    標準の検査は手元の情報で実施。ネットワークを遮断した環境でも動くことを確認します。

  3. 03
    道具の出所を確かめられる

    配布物に署名を付け、検査ツールがAid-Onの出したものか確認できます。

  4. 04
    見ていないことを残す

    読めなかった範囲や答えが足りない項目は「判定できない」として明記します。

SCOPE & BASIS

判断には、
境界線も必要です。

判定書にはチェック項目ごとに日本のAI事業者ガイドラインの指針番号を添えます。根拠とともに、検査できる範囲も明確にします。

  • 対応するコード

    JavaScript / TypeScript

    Pythonは依存部品の照合と秘密情報のパターン確認のみ対応します。

  • 検査で分かること

    指定された範囲・時点の記録

    未知の脆弱性や、読めなかった箇所の安全性を保証するものではありません。

  • 制度との関係

    指針番号を判定書に記載

    ガイドラインや情報セキュリティサービス基準への適合を認定・保証するものではありません。

FAQ

よくある
ご質問

導入前によくいただく質問をまとめました。

01 コードを外部に送る必要がありますか?

検査はお客様の環境内で実施し、コードを外部に送らずに確認します。対象として指定した範囲の外を読まないことも機械で検証します。

02 アプリを動かす必要はありますか?

通常の導入判定では必要ありません。コードを読む静的な検査です。

03 「導入不可」と出たらどうなりますか?

開発会社向けの「直し方の紙」を合わせてお渡しします。修正後に再検査し、判定の変化を確認できます。

04 判定書があれば安全だと保証されますか?

安全性の保証ではありません。指定された範囲と時点での検査結果、判断の根拠、見ていないことを記録します。

05 どの言語に対応していますか?

コードの内容を読む検査はJavaScript / TypeScriptが対象です。Pythonは依存部品の照合と秘密情報のパターン確認のみ対応しています。

BEFORE YOU CONNECT

その接続に、
判断の根拠を。

外注したAIアプリを本番データにつなぐ前に。まずは対象のアプリと、判断したいことをお聞かせください。

Aid-Onに相談する