開発の落とし穴
AIで誰でもアプリを作れる時代に、初学者がやりがちな危険な失敗と、その回避のしかた。
開発の落とし穴生成AIを業務で使うとき、禁止する前に決めておくこと
生成AIを業務で使うのは危ないから禁止、とする前に。生成AIは性質のある道具で、安全に使える範囲を決めれば安心して業務に載せられます。情報の線引きや確認の一手間など、私が決めておくとよいと思うことを書きました。
開発の落とし穴公開したログイン機能は、総当たりで試されている──ブルートフォース攻撃の仕組みと対策
ブルートフォース攻撃は、プログラムで大量のパスワードを機械的に試す総当たりの攻撃です。公開したログイン機能がなぜ狙われるのか、オンラインとオフラインで攻撃の速さが違う理由、Webサイト以外に狙われる対象、そして使う側・作る側それぞれの対策を、AIでアプリを作る人向けに整理します。
開発の落とし穴Claudeで共有した内容がGoogle検索に出た件と、「公開される場所に機密を置かない」原則
Claudeで共有した会話やArtifactsが、Google検索に表示される事故が話題になりました。非公開チャットへの侵入ではなく、ユーザーが作った公開リンクが検索から見つかる状態になり、共有ページの検索除外も十分でなかったことが原因とされています。何が起きたのかを正確に整理し、GitHubの公開リポジトリなども含めた「公開される場所に機密情報を置かない」という原則と、今日できる自衛の手順までまとめます。
開発の落とし穴認証トークンはどこに保存する?──localStorageとhttpOnly Cookieの違い、XSS・CSRF対策
ログイン後の認証情報を、localStorageに置くかCookieに置くかで、セキュリティが変わります。localStorageはXSSで盗まれやすく、HttpOnly Cookieは直接読まれにくい代わりにCSRF対策が要る。属性(HttpOnly・Secure・SameSite)の役割を分けて整理し、迷ったときの現実的な構成、そして「保存場所よりXSSを作らないこと」が本質である理由まで解説します。
開発の落とし穴シャドーAIとは──会社が把握していない生成AI利用のリスクと、全面禁止に頼らない整え方
組織の正式な承認や管理の外で生成AIが業務に使われている状態を、シャドーAIと呼びます。問題はAIを使うこと自体ではなく、どのツールが・どの用途で・どの情報を扱っているかを会社が把握・管理できていないこと。なぜ起きるか、法令・契約まで含むリスク、そして全面禁止に頼らず安全に使える形へ整える進め方を、法人の担当者向けに整理します。
開発の落とし穴公開したアプリから.envが抜かれ、大量スパムの踏み台に──設定ファイルの流出を防ぐ
APIキーやAWSの認証情報を書いた.envファイルが、公開フォルダの設定ミスで外部から読める状態になり、抜かれたキーが大量スパムやクラウド悪用に使われることがあります。なぜ晒されるのか、ボットが24時間探している実態、見つかったときの被害、公開フォルダの外に置く・最小権限といった対策を、AWSキーを抜かれた実体験をふまえて整理します。
開発の落とし穴誰でも書き込めるデータをAIに読ませていませんか──RAGに「信頼できないデータ」を混ぜる危険
レビューや問い合わせなど、誰でも書き込める外部データを、社内マニュアルと同じ扱いでAIに読ませていませんか。外部データの混入は間接プロンプトインジェクションの入口ですが、漏えいは複数の設計不備が重なって起こります。提供元の記録と、検索範囲・権限・AIへの渡し方の分離を、導入前の点検リストつきで整理します。
開発の落とし穴RAGに読ませたデータから、別の人の個人情報が抜かれた──間接プロンプトインジェクションという攻撃
社内データをAIに読ませて答えさせるRAG。読み込むデータに隠し命令が仕込まれると、AIがそれを指示として実行し、質問した本人の個人情報が外部へ送られる場合があります。外部データの混入は入口にすぎず、事故は複数の条件が重なって成立します。仕組みと成立条件、防ぎ方の入口を、導入・開発の観点から整理します。
開発の落とし穴AIは「騙されない」より「騙されても被害が出ない」設計に──入力・出力・ツールに置くガードレール
プロンプトの工夫だけでAIを守るのは限界があります。強いモデルでも乗っ取りを完全には防げない前提で、入力・出力・ツール実行の各段にガードレールを置き、権限を最小化し、インフラで通信を絞る。RAG流出の検証をもとに、多層防御の設計思想をチェックリストつきでまとめます。
開発の落とし穴AIに「何でもできる」権限を渡していませんか──エージェントの外部送信・ツール実行を絞る
AIエージェントに強い権限を渡したままだと、乗っ取られたとき被害が広がりやすくなります。守りの発想は、だまされないよう工夫するより、だまされても被害が出ないよう権限を絞ること。最小権限・送信先の制限・管理者承認・通信のホワイトリストを、絞り込みチェックリストつきで整理します。
開発の落とし穴問い合わせフォームは作って終わりじゃない──公開前後に確認したい6つの運用項目
生成AIとGASで問い合わせフォームを自作して公開したあと、迷惑な自動送信やデータ管理、通知が来ない不具合に戸惑う人は多いです。bot対策の受信側検証、個人情報の目的と保存期間、受付・保存・通知のどこで止まったかの切り分け、サービスごとの上限まで、公開前後の点検リストつきで整理します。
開発の落とし穴その自動化、貯まっていくデータは誰が見られる?──スプレッドシート共有と権限の落とし穴
フォームやGASでスプレッドシートにデータを貯める自動化は、共有設定を間違えると集めた個人情報が誰でも見られる状態になりがちです。よくある共有の戻し忘れ、閲覧と編集の分け方、退職者・外部委託先の権限、共有設定の具体的な確認手順まで、3分でできる点検リストつきで整理します。
開発の落とし穴AIに読ませたメールやWebが「命令」に化ける──プロンプトインジェクションで自動化が乗っ取られる仕組み
AIにメールやWebを読ませて自動処理させるツールが、読ませた文章に潜む「隠れた命令」で乗っ取られるのがプロンプトインジェクションです。なぜAIがだまされるのか、実際の被害、そして権限を絞る・人が承認するなど自分のツールを守る基本を、やさしく整理します。
開発の落とし穴その業務自動化、保存したデータは大丈夫?──GAS×スプレッドシートに潜む数式インジェクション
フォームの内容をGASでスプレッドシートに自動保存する仕組みは、脆弱だと入力が数式として実行される数式インジェクションが起きます。なぜ起こるのか、表示のすり替えや集計破壊・情報漏洩の可能性、値を文字列として扱う対策まで、やさしく整理します。
開発の落とし穴入力を画面に出すだけで乗っ取られる?XSS(クロスサイトスクリプティング)の仕組みと防ぎ方
コメント欄やプロフィールなど「誰でも書き込める場所」に潜む代表的な穴、XSS。なぜ入力をそのまま表示すると攻撃が成立するのか、Cookieやセッションを盗まれると何が起きるのか、フレームワークで防ぐ勘所までを、コードを読まない人にもやさしく解説します。
開発の落とし穴入力欄からデータベースを丸ごと抜かれる──SQLインジェクションが今も危ない理由
ログインフォームや検索窓など、入力を受け取る場所に潜む古典的で被害の大きい穴、SQLインジェクション。入力を命令文に混ぜてしまうとなぜ乗っ取られるのか、情報漏洩・改ざん・削除の怖さと、プレースホルダなど基本の防ぎ方をやさしく整理します。
開発の落とし穴APIキーやパスワードをコードに直接書かないために──環境変数(.env)の使い方
「大事な情報をどこに置くか」問題の答えのひとつが環境変数(.env)です。なぜコードから切り離すのか、.envと.gitignoreの関係、本番ではどこに置くか、やりがちな漏洩ミスまで、コードを読まない人にも分かるように解説します。
開発の落とし穴個人開発を「動けばいい」で終わらせない ── セキュリティと非機能要件とは何か
AIで実装が軽くなったからこそ「動けばいい」で公開すると危うい。個人開発でも見るべきセキュリティ(SQLインジェクション/XSS/認可/公開設定)と非機能要件(ログ/バックアップ/レートリミット/負荷)を、自分に投げる問いの形で整理します。
開発の落とし穴AIで作ったアプリは危険?公開前に押さえたいセキュリティの落とし穴8つ【まとめ】
生成AIやバイブコーディングでアプリを作れるようになった今こそ知りたい、公開前のセキュリティ注意点を8つにまとめました。APIキーの扱い、高額請求、サプライチェーン攻撃など、大きな事故につながりやすい落とし穴と対策の入口をやさしく整理します。
開発の落とし穴サプライチェーン攻撃とは?AIが勧めた定番ライブラリからnpm乗っ取りで侵害される仕組みと守り方
信頼された定番ライブラリに悪意あるコードが仕込まれ、使うだけで侵害されるのがサプライチェーン攻撃です。axios事件を例に、なぜ怖いか、AI開発で特に危険な理由、現実的な守り方をやさしく解説します。
開発の落とし穴【初心者向け】スクレイピングは危険?違法?AIで自作する前に知っておく注意点
AIを使えばスクレイピングツールは簡単に作れます。でも利用規約違反や相手サーバーへの過負荷など、危険なリスクが潜みます。安全にやるなら公式APIが鉄則。理由と正しいやり方をやさしく解説します。
開発の落とし穴AIにデータベースを触らせる前に確認すべきこと|本番データの誤操作は危険
AIにデータベース操作を任せると、確認不足から大事なデータを消してしまう事故が起こりえます。どの環境を触るか、接続先は想定通りか、戻せるか。環境分離・接続先確認・バックアップの3点をやさしく整理します。
開発の落とし穴AIで作ったアプリのサーバは安全か?認証と認可の違いから学ぶWebアプリのセキュリティ
APIキーをサーバ側に置くのは正しい対策ですが、それだけでアプリが安全になるわけではありません。認証と認可の違いを入り口に、公開範囲・入力値・秘密情報・ログ・通信・アクセス集中まで、AIで作ったWebアプリを公開するときに確認したいサーバ側の安全性を、チェックリスト付きで整理します。
開発の落とし穴【注意】自作アプリが高額請求を招く?サーバレス開発に潜む従量課金の罠と対策
サーバレス(AWS Amplify/Lambda・Firebase・Vercel)の従量課金は、大量アクセスで請求が一気に膨らむことがあります。なぜ請求が爆発するのか、WAF・予算アラート・利用制限で身を守る方法を、仕組みからやさしく解説します。
開発の落とし穴ログインエラーでID・パスワードのどちらが違うか教えない、意外な理由
ログイン失敗時に「IDまたはパスワードが違います」としか出ないのは、わざとの仕様です。アカウント列挙という攻撃を防ぐための設計の意図と、エラーに直面したときの正しい対処を、やさしく解説します。
開発の落とし穴【高額請求に注意】AI開発でやってはいけない「APIキーのクライアント側実装」と対策
生成AIで作ったアプリでやりがちなAPIキーの漏洩。クライアント側に書くとなぜ危険か、サーバーと環境変数で正しく隠す方法を、仕組みからやさしく解説します。身に覚えのない高額請求のリスクを抑えるための基本です。
「次に何を学べばいいか」で
止まっていませんか。
この記事は入口の1つです。独学のいちばんの壁は「順番」。ZELKでは、あなたの目標から逆算した 「学ぶ順番(学習ロードマップ)」を1対1で一緒に作っています。 まずは公式LINEから気軽にご相談ください。
会社での生成AI導入・活用をご検討の方は、法人向けのご相談へ。
