Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intent as Code LT版

Intent as Code LT版

Agentic Coding 時代における今の権限は不十分であり、AIが権限の中で何してもシステムの安全性を担保するために、Intentというものを提案します

Avatar for Shoppingjaws

Shoppingjaws

September 12, 2026

More Decks by Shoppingjaws

Other Decks in Programming

Transcript

  1. Intent as Code LT版 Why Existing Permissions Aren't Enough for

    AI なぜ、既存の”権限”はAIに不十分なのか Masaya NAKAMURA このスライドはこちら
  2. 自己紹介 経歴 / Career 自動車会社 → 自動車会社 → BtoB AIマニュアルSaaS

    現職 / Current Role 株式会社スタディスト Platform Engineering Unit チーフ Masaya Nakamura @shoppingjaws / かいもの 本名はタガログ語で”安く買えて嬉しい” みたいな意味らしい 得意 / Specialties Terraform / CI / 自動化全般 Copyright (C) Studist Corporation. All Rights Reserved 2
  3. Agenda 01 実際の開発環境に起こりうるリスク実例 GitHub IssueのRead / Write権限を例に考える。 02 Intent(意図)とは何か PermissionとIntentの関係と、機械判定可能な境界を定義する。

    03 Intentを実装する CLIラッパーとポリシーで、操作対象や実行条件を制限する。 04 これからのAgenticな開発環境 Agentの外側で境界を強制する基盤と、Platformの責務を考える。 Copyright (C) Studist Corporation. All Rights Reserved 3
  4. リスク1 GitHub IssueのRead / Write権限は、どこまでの操作を許すのか ※ OWASP ASI02・ASI03 前提:AgentがMCPやCLIで、ユーザーの認証情報を使ってIssueをRead/Writeできる 対象外のIssue編集

    認証上は編集できても、今回のプロジェクトとは無関係 操作権限だけでは、タスクとの関係を絞れない 組織外Issueの編集を通じて 内部情報を本文に含め、対象外のリポジトリへ投稿 外部送信 Issue作成が、外部への情報漏洩になる Issue起点の社内操作 Issueを契機とするCI・自動処理が社内権限を持つ場合 投稿の影響が、社内システムの操作にまで及ぶ Copyright (C) Studist Corporation. All Rights Reserved 5
  5. リスク1 GitHub IssueのRead / Write権限は、どこまでの操作を許すのか ※ OWASP ASI02・ASI03 前提:AgentがMCPやCLIで、ユーザーの認証情報を使ってIssueをRead/Writeできる 対象外のIssue編集

    認証上は編集できても、今回のプロジェクトとは無関係 操作権限だけでは、タスクとの関係を絞れない 組織外Issueの編集を通じて 内部情報を本文に含め、対象外のリポジトリへ投稿 外部送信 Issue作成が、外部への情報漏洩になる Issue起点の社内操作 Issueを契機とするCI・自動処理が社内権限を持つ場合 投稿の影響が、社内システムの操作にまで及ぶ Copyright (C) Studist Corporation. All Rights Reserved 6
  6. ユーザー権限の直接委譲とAI専用権限の限界 1. ユーザー権限の直接委譲 OAuthやアクセストークンを利用して開発者自身の権限をその ままAIへ委譲することは非常に危険です。 AIが意図を超えた挙動をした際、データベースの削除や本番環 境へのデプロイなどの強大な権限をそのまま行使してしまうリ スクがあります。 2. AI専用権限の限界

    Agent IdentityのようにAI専用の権限を別途作成・付与する方 法は、直接委譲する設計に比べれば安全です。 しかし、ロールやパーミッションのような大粒の制御だけで は、AIに実行させたい細かな「意図(Intent)」までを厳密に 制限することは困難です。 Copyright (C) Studist Corporation. All Rights Reserved 9
  7. ユーザー権限の直接委譲とAI専用権限の限界 1. ユーザー権限の直接委譲 OAuthやアクセストークンを利用して開発者自身の権限をその ままAIへ委譲することは非常に危険です。 AIが意図を超えた挙動をした際、データベースの削除や本番環 境へのデプロイなどの強大な権限をそのまま行使してしまうリ スクがあります。 ユーザが できること

    = AIが できること 2. AI専用権限の限界 Agent IdentityのようにAI専用の権限を別途作成・付与する方 法は、直接委譲する設計に比べれば安全です。 しかし、ロールやパーミッションのような大粒の制御だけで は、AIに実行させたい細かな「意図(Intent)」までを厳密に 制限することは困難です。 サービスが定義する できること = AIが できること Copyright (C) Studist Corporation. All Rights Reserved 10
  8. 「できること」と「どこまでしてよいか」の違い Permission(権限) Intent(意図) • Permissionは粒度が大きく、何にどこまで作用してよ • AIがEvilに操作しても大丈夫な範囲の権限 • 開発環境などに応じて細かく制御が必要 システム上で「できること」を表します。

    いか(許容範囲)を表現できません。 • どの状態で実行してよいか(条件)を細かく制御・表 現することも困難です。 システム上で「どこまでしてよいか」を表します。 Copyright (C) Studist Corporation. All Rights Reserved 11
  9. 「できること」と「どこまでしてよいか」の違い Permission(権限) Intent(意図) • Permissionは粒度が大きく、何にどこまで作用してよ • AIがEvilに操作しても大丈夫な範囲の権限 • 開発環境などに応じて細かく制御が必要 システム上で「できること」を表します。

    いか(許容範囲)を表現できません。 • どの状態で実行してよいか(条件)を細かく制御・表 現することも困難です。 システム上で「どこまでしてよいか」を表します。 権限にはまだ決定的に狭められる余地があるのでは? AIによる非決定的な判断は最後の砦であるべき Copyright (C) Studist Corporation. All Rights Reserved 12
  10. 機械判定可能な境界の事前定義 権限の内側に、意図の境界を定義 Human Permission(人間の権限) AI Permission(AI専用権限) Intent Boundary 意図境界 Agent

    権限があっても、意図の外側は実行しない Intent Boundary(意図境界) Agentがタスク遂行中に越えてはいけない境界。 システム権限の内側に独自の境界を設け、 権限があってもIntentの外側の操作は実行させません。 Intent as Code 人間の操作目的・対象・条件を、 機械が動的に判定できる形で事前定義。 AIに真の最小権限を渡すことが可能に ※ 本セッションでは、Human PermissionとAI Permissionは本質的に同じものとして扱います。 Copyright (C) Studist Corporation. All Rights Reserved 13
  11. GitHub CLI 操作の制限・検証ツール safe-gh:Intent as CodeによるAI Agentの動的制御 gh コマンドの危険性 gh

    コマンドを使えば、悪意ある情報をOrg外から 持ってきたり、送信することも可能。 任意のworkflowを実行したり, PRやIssueの編集が無 制限にできてしまい、間接的にシステムへのアクセ スが可能になる。 開発を行う上ではAgentによる書き込みも許可したほ うが利便性が高いが、すべてを許可することはむずか しい。 検証の仕組み AI Agentが実行するghコマンドの引数(サブコマン ドやターゲットリポジトリ)を詳細に解析します。 対象リポジトリが許可リストに含まれているか、お よび操作内容(閲覧・書き込み等)の安全性を動的 に検証します。 境界を越える操作を検知した場合は、即座にブロッ クするか、人間に承認を求める安全なフォールバッ クを実行します。 Copyright (C) Studist Corporation. All Rights Reserved 16
  12. GitHub CLI 操作の制限・検証ツール JSONCによるポリシー記述(Intent as Code) 理性に依存しない、機械的な安全境界の設計 機械判定可能なコードによって「どこまでしてよいか」を 事前定義し、自動的かつ確実にアクセス制限を適用・制御 できます。

    AIが作成したIssueのみ編集可能にし、人間の作業領域と AIの作業領域を明確にします 一方で、信頼したOrganizationであれば任意の読み取り操 作を許可します 動作例: ghを直接使わず、safe-gh経由で呼び出す 自身が作成したIssueのみWriteできるようにしたり、許可したOrg しか読み取れないように制限 safe-gh 設定例 // ~/.config/safe-gh/config.jsonc { "issueRules": [ { "name": "edit My issues", "operations": [”edit”], "condition": { "owners": ["studist"], "authors": ["@me"], "aiAnnotation": "true", } } ], "searchRules": [ { "name": "Search operations", "operations": ["code", “commits”, “issues”, “prs”, “repos”], "condition": { "owners": ["studist", “kubernetes”, “hashicorp”, “actions”] } } ], "defaultPermissions": "deny", "enableAIAnnotation": "true", } Copyright (C) Studist Corporation. All Rights Reserved 17
  13. これからのAgenticな開発環境 課題 01 / 02 ローカルのCLIラッパーに残る限界 ローカルのラッパーやHooksによる制御には、迂回できる経路が残る Agentが操作できるローカル環境 Agent →

    CLI・Hooks 対象・条件を検証 迂回経路 → 元のCLI・API・認証情報 制御の前提が崩れるとき 元のCLIやAPIを直接呼べる 認証情報や別の実行手段を使える 制御用の設定・経路を書き換えられる Agentが操作できる環境の外側で、境界を強制する Copyright (C) Studist Corporation. All Rights Reserved 21
  14. これからのAgenticな開発環境 実現例 権限を伴う操作は隔離された環境で実行する terraform planも、管理されたRemote実行環境で完結させたい Agentの作業環境 対象と操作を限定し た 実行要求を送る MCP/CIなど

    → ← 結果 管理されたRemote実行環境 01 検証 02 実行 対象・設定・実行条件を CIや実行サービスが検証 → 必要な権限だけを使用 結果をAgentへ返す 認証情報と実行可否の制御を、Agentの作業環境から分離 Copyright (C) Studist Corporation. All Rights Reserved 22
  15. これからのAgenticな開発環境 課題 02 / 02 プロダクト開発にも、Intentの実装が必要ではないか? 越えてはいけない境界を、プロダクトの設計に組み込む 実装の高速化 Agentが実装を担う 範囲が広がる

    生成されるコードの増加 → レビューの限界 生成過程や実装の 全量を追いきれない 強固なIntentが必要 → 安全性を担保しつつ 攻めた開発が可能に 人間の精査だけでは不足 最悪の事故は防ぎたい すべての変更を精査する前提に、安全性を依存させない Copyright (C) Studist Corporation. All Rights Reserved 23
  16. これからのAgenticな開発環境 システム設計 Intentを実装する仕組みは、すでに広がり始めている Agentの利用を前提に、システムの設計も進化させたい 層 データアクセス 設計の例 検証環境 Row Level

    Security(RLS) Immutable Infrastructure/ 使い捨ての開発ブランチ実行環境 開発環境 Intent Boundary 制約するもの 読み書きできるデータの範囲 ブランチの変更内容を独立させる 操作対象・実行条件・ 許容する変更 今回のIntent Boundaryは、開発環境における実装の一例 Copyright (C) Studist Corporation. All Rights Reserved 24
  17. これからのAgenticな開発環境 サービスへの展開 サービス事業者側でIntent Boundaryを敷く 将来は、サービス提供事業者側にも境界の実装を求めてもよいのでは? 組織・プロダクト・ チーム・テナントの 境界を定義 操作対象・実行条件を 含むAgentへの

    委譲範囲を拡大 Intent CLI MCP API サービス側で共通の境界を適用 → どの経路からの要求も、実行時に検証 境界を越える要求は拒否 サービス側で実装することで、より境界の信頼性を上げる Copyright (C) Studist Corporation. All Rights Reserved 26