登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

検索結果 Deny
Deny コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
Deny を含む検索結果
📸 230114 #モンスタエックス# MBC #ショー音楽中心# 終了 Beautiful Liarから Deny, 大丈夫 まで #MONBEBE# でいっぱいだった今日💕 MONSTA Xと一緒に幸せな 週末のスタートを作ってみましょう😍 #REASON# #BeautifulLiar# #Deny# #大丈夫# #MONSTA_X# #MONSTAX#
もっと見る
📸 230115 #モンスタエックス# SBS #人気歌謡# 終了 MONSTA Xと一緒に過ごして 幸せで楽しい週末になりましたか⁉🥰 喜んで飲み込んで 喉の奥深く #MONBEBE# の熱い愛❤️‍🔥 #REASON# #BeautifulLiar# #Deny# #MONSTA_X# #MONSTAX#
もっと見る
📸 230113 #モンスタエックス# KBS2 #ミュージックバンク# 終了 今日も夢中で惹かれる MONSTA Xと #MONBEBE# 🫶 MONBEBEへの愛は いつでもREASONなく惹かれる💖 #REASON# #BeautifulLiar# #Deny# #MONSTA_X# #MONSTAX#
もっと見る
📸 230112 #モンスタエックス# Mnet #MCOUNTDOWN# 終了 MONSTA Xを夢中にさせる たった一つの理由はまさに! #MONBEBE# だけ🫶 Beautiful Liar & Deny 初ステージ、どうでしたか?! これからのステージも楽しみにしていてください💖 #REASON# #BeautifulLiar# #Deny# #MONSTA_X# #MONSTAX#
もっと見る
Claude Codeに任せて席を外したら、許可の確認で止まったままだった人、いない? Claude Codeは、許可が要る操作の前で確認を出して待つ。人がいないと、そこで止まる。 2.1.319で入った permissions.denyInsteadOfPrompting は、その確認待ちを「拒否」にして、ターンを先に進める設定。ターミナル・サブエージェント・チームメイトで効く。 ただ、許可されるわけじゃない。拒否された操作はやらないままなので、作業が最後まで終わるとは限らない。 無人で回すなら、必要な操作は先に permissions.allow へ入れておく。
もっと見る
# Claude Agent SDKの便利だけど知られていない機能 🌍 エージェントがファイルを勝手に削除しようとしたら?実行時承認で安全にコントロールできます! `canUseTool` コールバックを使えば、ツール実行前にリアルタイムで承認・拒否・入力変更が可能です。 📌 タイトル:canUseTool コールバックによる実行時承認 🔗 URL: 🧩 概要 `canUseTool` はクエリオプションに渡すコールバック関数で、権限評価フローの最終ステップ(6番目)で呼び出されます。先行するステップ(allow ルールや `acceptEdits`・`bypassPermissions` モードなど)で自動承認されたツール呼び出しではコールバックは呼ばれないため、すべてのツール呼び出しに適用したいチェックは `PreToolUse` フックを使ってください。コールバックはツール名と入力パラメータを受け取り、`allow`(許可)または `deny`(拒否)を返します。許可時には入力を変更することも可能で、例えばパスをサンドボックス内に書き換えたり、危険なコマンドをブロックしたりできます。`dontAsk` モードでは呼び出されません。 🛠 使い方 ```python # Python - ツール実行の承認コールバック from claude_agent_sdk import ClaudeAgentOptions, query from claude_agent_sdk.types import PermissionResultAllow, PermissionResultDeny, HookMatcher async def can_use_tool(tool_name, input_data, context): print(f"\nツール: {tool_name}") if tool_name == "Bash": print(f"コマンド: {input_data.get('command')}") # rm コマンドをブロックしてアーカイブを提案 if "rm" in input_data.get("command", ""): return PermissionResultDeny( message="削除の代わりにアーカイブしてください" ) response = input("許可しますか? (y/n): ") if response.lower() == "y": return PermissionResultAllow(updated_input=input_data) return PermissionResultDeny(message="ユーザーが拒否しました") # ダミーフック(Python のストリーミングモードで必要) async def dummy_hook(input_data, tool_use_id, context): return {"continue_": True} ``` ```typescript // TypeScript - 入力を変更して許可する例 import { query } from "@anthropic-ai/claude-agent-sdk"; for await (const message of query({ prompt: "Clean up temporary files", options: { canUseTool: async (toolName, input) => { if (toolName === "Bash") { // パスをサンドボックス内に書き換え const sandboxed = { ...input, command: input.command.replace("/tmp", "/tmp/sandbox") }; return { behavior: "allow", updatedInput: sandboxed }; } return { behavior: "allow", updatedInput: input }; } } })) { /* ... */ } ``` 🏗 本番システムへの組み込み方 ・Web UIでツール実行の承認ダイアログを表示し、ユーザーの判断を返します ・`context.suggestions` から `PermissionUpdate` を取得し、「今後も許可」の永続化ルールを設定できます ・危険な操作(`rm`、`DROP TABLE` など)は自動的にブロックし、安全な代替案をメッセージで提案します ・入力のサニタイズ(パスの制限、パラメータの上書き)で、エージェントの行動範囲を動的に制御します 💡 ユースケース 🔒 本番データベースへの書き込みコマンドを承認制にする 📁 ファイル操作を特定のディレクトリに制限する(パスの動的書き換え) 👥 マルチユーザー環境で、ユーザーの権限レベルに応じてツール利用を制御する ⚠️ 注意点 ・Python では `canUseTool` を使うにはストリーミングモードと `PreToolUse` フックの設定が必要です ・`dontAsk` モードではコールバックがスキップされるため、セキュリティ上の制限にはフックを使用してください ・コールバックは回答まで無期限に実行を一時停止します。長時間のケースには `defer` フック決定を利用してください ✨ 「全部おまかせ」か「全部手動」かの二択ではなく、canUseTool で「要所だけ人間が判断する」スマートな運用を実現しましょう! #ClaudeAgentSDK# #AIAgent#
もっと見る
# Claude Agent SDKの便利で実践的な使い方 🪝 エージェントの全動作をフックでインターセプトし、監査・制御・通知を実現できます。 フックは、`PreToolUse`・`PostToolUse`・`Stop`・`Notification` 等のライフサイクルイベントでカスタムコードを実行し、エージェントの動作を検証・ログ・ブロック・変換する機能です。 📌 タイトル:フックを使用してエージェントの動作をインターセプトして制御する 🔗 URL: 🧩 概要 フックは SDK のコールバック関数で、ツール実行前後・停止時・通知時等に発火します。`HookMatcher` で対象ツールをパターン指定でき、`permissionDecision` で許可/拒否を制御します。コンテキストウィンドウ外で実行されるためトークン消費なしです。 🛠 使い方 `hooks` オプションにイベント名(`PreToolUse` / `PostToolUse` / `Notification` 等)をキーとし、`HookMatcher` でマッチャパターン(`"Edit|Write"` や `"^mcp__"` 等)とコールバック関数を指定します。コールバックは `permissionDecision`(`allow` / `deny`)や `updatedInput` を返してツール実行を制御できます。 🏗 実践的な使い方 ・`PreToolUse` で `.env` への書き込みや `/etc` 操作を `deny` で停止し、`systemMessage` で理由を Claude に伝えます。 ・`PostToolUse` で全ファイル変更を監査ファイルに記録します(コンプライアンス用)。 ・`PreToolUse` で Write の `file_path` を書き換え、全書き込みを `/sandbox` へリダイレクトします(`updatedInput` + `allow`)。 ・`Notification` フックでパーミッション要求・アイドル状態を Slack や PagerDuty へ転送します。 💡 ユースケース 🛡 危険操作の自動ブロック 📝 全ファイル変更の監査ログ記録 📨 外部通知サービスへのイベント転送 🔀 書き込み先のサンドボックスリダイレクト ⚠️ 注意点 複数フックは並列実行され、`deny > defer > ask > allow` の優先順で決定されます。`async_: True` でエージェントを止めずに非同期処理が可能です。`SessionStart` / `SessionEnd` は TypeScript のみです。 #ClaudeAgentSDK# #AI#
もっと見る
# Claude Codeの機能と実践的な使い方 🔒 「どこまで自律的に動かすか」を細かく制御できる。信頼できない調査は読み取り専用、信頼環境では自動承認と、安全と効率を両立する仕組みです。 📌 タイトルと機能のURL タイトル: 権限 / サンドボックス URL: 📝 概要 Claude Codeは、エージェントが何をできて何をできないかを正確に指定できる、きめ細かい権限システムを備えています。allow/ask/denyのルールと権限モードを組み合わせ、設定はバージョン管理に含めてチーム全体へ配布できます。さらにサンドボックスでOSレベルの隔離も可能です。 🔧 機能の説明 ・読み取り専用ツール(ファイル読み込みやGrep)は承認不要、Bashコマンドやファイル編集は承認が必要、という階層型の権限制御です。 ・ルールは「deny → ask → allow」の順で評価され、最初に一致したものが結果を決めます。denyはどのスコープにあっても最優先で、allowで上書きできません。 ・権限モードはdefault / acceptEdits / plan / auto / dontAsk / bypassPermissionsがあります。planは読み取りと読み取り専用コマンドのみ、bypassPermissionsはほぼ全許可で危険です。 ・権限ルールはモデルではなくClaude Codeが強制します。CLAUDE.mdの指示は「何を試みるか」を変えても「何を許可するか」は変えません。 🛠 実践的な使い方 ・セッション中は「/permissions」で全ルールと出所のsettings.jsonを確認・編集できます。 ・ルール構文は「Tool」または「Tool(specifier)」です。例: Bash(npm run build) / Read(./.env) / WebFetch(domain: ・settings.jsonのpermissions.allow / deny 配列に記述します。例: allowに「Bash(npm run *)」、denyに「Bash(git push *)」「Read(./.env)」。 ・読み取り専用で調査したいときはplanモードを使うか、denyに「Edit」「Write」を入れ、Bashを絞ります。サブエージェントはAgent(Explore)等で制御します。 ・追加ディレクトリへのアクセスは「--add-dir」や「/add-dir」、永続化はadditionalDirectoriesで付与します。 🎯 ユースケース ・信頼できないリポジトリの調査時はplanモードで、ソースを書き換えずに構造把握だけ行う。 ・チーム共有の.claude/settings.jsonに安全なallow/denyを定義し、全員に同じガードレールを配布する。 ・コンテナやVM内ではbypassPermissionsで承認をスキップし、CIや一括作業を高速化する。 ・サンドボックスの ⚠️ 注意点 ・bypassPermissionsは.gitや.claude等への書き込みも承認をスキップするため、隔離環境でのみ使用してください(rm -rf / 等はサーキットブレーカーで停止)。 ・curlのURLを引数で縛る権限パターンは脆弱です。Bashネットワークツールをdenyし、WebFetch(domain:...)で許可ドメインを指定する方が確実です。 ・Read/Edit のdenyは組み込みファイルツールと認識可能なBashコマンドにのみ効き、Python等のスクリプトが直接開くファイルには及びません。全プロセスを縛るならサンドボックスを使います。 ・managed settingsは他のどのスコープからも上書きできません。組織方針はここで強制します。 #ClaudeCode# #DevTools#
もっと見る
# Claude Agent SDKの便利だけど知られていない機能 🌍 権限評価は5段階のパイプライン。どこで何が決まるか理解すれば、セキュリティ設計が格段にクリアになります。 フック、拒否ルール、権限モード、許可ルール、コールバックの順で厳密に評価されます。 📌 タイトル:5段階の権限評価順序 🔗 URL: 🧩 概要 Claude Agent SDKのツール使用権限は、5段階のパイプラインで評価されます。(1) フック:PreToolUseフックが最初に実行され、deny可能。ただしallowを返しても後続の評価はスキップされません。(2) 拒否ルール:disallowed_toolsで指定されたツールをチェック。ツール名のみの指定(例:"Bash")はコンテキストからツール定義ごと除去。スコープ付き(例:"Bash(rm *)")はbypassPermissionsでもブロック。(3) 権限モード:bypassPermissionsはここに到達したものをすべて承認。acceptEditsはファイル操作を承認。(4) 許可ルール:allowed_toolsに一致すれば承認。(5) canUseToolコールバック:上記で解決しなかった場合に呼ばれます。判定の優先順位はdeny > defer > ask > allowです。 🛠 使い方 ```python import asyncio from claude_agent_sdk import ( ClaudeSDKClient, ClaudeAgentOptions, HookMatcher, ) # Stage 1: フックで特定操作をブロック async def block_dangerous_commands(input_data, tool_use_id, context): if input_data.get("tool_name") == "Bash": command = input_data["tool_input"].get("command", "") if "rm -rf" in command: return { "hookSpecificOutput": { "hookEventName": input_data["hook_event_name"], "permissionDecision": "deny", "permissionDecisionReason": "rm -rf は禁止されています", } } return {} async def main(): options = ClaudeAgentOptions( # Stage 1: フック hooks={ "PreToolUse": [ HookMatcher(matcher="Bash", hooks=[block_dangerous_commands]) ], }, # Stage 2: 拒否ルール(ツール名のみ = コンテキストから完全除去) disallowed_tools=["WebFetch"], # Stage 3: 権限モード permission_mode="acceptEdits", # ファイル操作を自動承認 # Stage 4: 許可ルール allowed_tools=["Read", "Glob", "Grep", "Edit", "Write"], ) # Stage 5: canUseToolは別途query()やClaudeSDKClientで設定可能 async with ClaudeSDKClient(options=options) as client: await client.query("コードを改善して") async for message in client.receive_response(): print(message) ``` ロックダウン構成の例: ```python # 最小権限の原則:許可したツールのみ、それ以外は即拒否 options = ClaudeAgentOptions( allowed_tools=["Read", "Glob", "Grep"], permission_mode="dontAsk", # 未許可ツールはプロンプトなしで拒否 ) ``` 🏗 本番システムへの組み込み方 ・allowed_toolsはbypassPermissionsを制約しません。allowed_toolsに"Read"だけ指定しても、bypassPermissionsではすべてのツールが承認されます ・特定ツールを完全にブロックするにはdisallowed_toolsを使用してください(bypassPermissionsでも有効) ・最小権限を実現するにはallowed_tools + permission_mode="dontAsk"の組み合わせが最適です ・フックのallowは「このフックとしてはOK」という意味であり、後続の拒否ルールやモード評価を上書きしません 💡 ユースケース 🔒 最小権限エージェント:Read/Glob/Grepのみ許可し、dontAskで他を即拒否 🛡 段階的信頼構築:defaultモードで開始し、レビュー後にacceptEditsに昇格 🚫 危険操作の排除:disallowed_toolsでBashを完全除去、またはBash(rm *)でスコープ付きブロック 🔍 監査付き承認:フックで全リクエストをログ記録しつつ、ルールベースで自動判定 ⚠️ 注意点 ・allowed_toolsに含まれないツールは「拒否」ではなく「未解決」として次の段階に進みます ・disallowed_toolsでツール名のみを指定すると、ツール定義がコンテキストから除去され、エージェントはそのツールの存在自体を認識しなくなります ・bypassPermissionsはサブエージェントにも継承されます。サブエージェントは異なるシステムプロンプトを持つ可能性があるため、注意が必要です ・複数のフックが同じイベントに登録されている場合、最も厳しい判定が採用されます ✨ 5段階の権限パイプラインを理解して、堅牢なセキュリティ設計を実現しましょう! #ClaudeAgentSDK# #AIAgent#
もっと見る
# Claude Agent SDKの便利で実践的な使い方 🪝 エージェントの全動作をフックでインターセプトし、監査・制御・通知を実現できます。 フックは、`PreToolUse`・`PostToolUse`・`Stop`・`Notification` 等のライフサイクルイベントでカスタムコードを実行し、エージェントの動作を検証・ログ・ブロック・変換する機能です。 📌 タイトル:フックを使用してエージェントの動作をインターセプトして制御する 🔗 URL: 🧩 概要 フックは SDK のコールバック関数で、ツール実行前後・停止時・通知時等に発火します。`HookMatcher` で対象ツールをパターン指定でき、`permissionDecision` で許可/拒否を制御します。コンテキストウィンドウ外で実行されるためトークン消費なしです。 🛠 使い方 `hooks` オプションにイベント名(`PreToolUse` / `PostToolUse` / `Notification` 等)をキーとし、`HookMatcher` でマッチャパターン(`"Edit|Write"` や `"^mcp__"` 等)とコールバック関数を指定します。コールバックは `permissionDecision`(`allow` / `deny`)や `updatedInput` を返してツール実行を制御できます。 🏗 実践的な使い方 ・`PreToolUse` で `.env` への書き込みや `/etc` 操作を `deny` で停止し、`systemMessage` で理由を Claude に伝えます。 ・`PostToolUse` で全ファイル変更を監査ファイルに記録します(コンプライアンス用)。 ・`PreToolUse` で Write の `file_path` を書き換え、全書き込みを `/sandbox` へリダイレクトします(`updatedInput` + `allow`)。 ・`Notification` フックでパーミッション要求・アイドル状態を Slack や PagerDuty へ転送します。 💡 ユースケース 🛡 危険操作の自動ブロック 📝 全ファイル変更の監査ログ記録 📨 外部通知サービスへのイベント転送 🔀 書き込み先のサンドボックスリダイレクト ⚠️ 注意点 複数フックは並列実行され、`deny > defer > ask > allow` の優先順で決定されます。`async_: True` でエージェントを止めずに非同期処理が可能です。`SessionStart` / `SessionEnd` は TypeScript のみです。 #ClaudeAgentSDK# #AI#
もっと見る