令和ボイスにセキュリティ報告を送った話
Another Skyって神曲だよね、どうもwsn0672です。
この記事では令和ボイス(https://r-voice.tech)に脆弱性を報告した時の話をするよ。ゆっくり見てってね
2026/05/01
この記事は個人を批判するものではありません
陳情書を全国の自治体にへずまりゅうさんの名義で届けるとのコンセプトの令和ボイスというサイト。公開されてすぐ、これ脆弱性ありそうだから探してくれとネッ友から言われまして。
すごくその、"生成AIが感じられる" サイトだったので、どっかに穴開いてそうだなと思って(ごめんなさい) 、調べ始めました。
弱そうなとこ探し
サイトの脆弱性と言っても、色々あります。サイトの仕組み自体の欠陥、技術的なセキュリティホールなどなど。
例えばログインフォームとかがあれば、ブルートフォースだったりSQLインジェクションだったり色々と試す術はあります。(実際にやるかは別として)
令和ボイスは、"不満投稿フォーム" から政治に対する不満を投稿、それをAIが分析して陳情書を生成、人が確認後にその陳情を提出、というシステムです。
不満投稿フォームには Google Forms が使われていて、陳情一覧ページなども Google スプレッドシートからデータを取る方式でした。
ほとんどの機能が Google 依存だったので、弱いとこも何もない気がして、概ね大丈夫そうだなと思いました。
ただ、1 つだけ独自のシステムがあったんですよ、
それが陳情書に "賛同する" ボタン。
賛同するボタンに異変が
陳情書一覧ページ (r-voice.tech/petitions.html) からそれぞれの陳情書に賛同を集めるらしいんですが、、
"賛同する" ボタンを押したら、ボタンが "賛同済み✔︎" に変わりました。
.....なんか、あっけない感じありませんかね、僕は感じましたけど
賛同するボタンを押したら、Local Storage に liked って配列で記録される + API に送信 という挙動をしているようでした。
1度押したボタンは2度は押せません。そんで試しに Local Storage を消してみたら、あら不思議。賛同数を 2 つ以上増やせるではありませんか。
で、陳情にぽちぽち賛同してってみて、ソースを見てみてると、
したら堂々と書いてあるんですよ、賛同 API のリンクとシークレット。
もしやと思ってターミナルから curl を実行します。
curl -L 'https://script.google.com/macros/s/AKfycbzl9Qt83DpHWsE6QaUY6VCuofFsoABP33d6Bq-7uCSGoEnOjxnyKN4paQNH0oA9t7Nn6w/exec?action=like&rowNum=4&secret=reiwa2024voice!secure'
なんということでしょう。
{"success":true,"liked":"403"}と返ってきたではありませんか
10回ぐらい連続で実行しても、liked: が増えるだけ。拒否されるなどと言った挙動はありませんでした。
あちゃー....
※今はもう修正されています
報告しなきゃ
報告送るしかないじゃないですか、
/.well-known/security.txt 見るじゃないですか。
404じゃないですか!!!
もーなんで置いてないのよーとか思いながら、しゃあないので "個人情報の取り扱いに関するご質問・削除依頼は、以下までご連絡ください。" のところに送りました。
以下はそのまんまの文章。
セキュリティ報告のメールなんで初めて書いたから全然グダグダ。
ご担当者様
初めまして。wsn0672と申します。
運営されているWebサイト「令和ボイス (r-voice.tech)」に関し、重要なセキュリティ上のご報告を差し上げます。
大変素晴らしいコンセプトのサイトだと思いますが、気になる点がありましたので、ご報告いたします。
悪用される可能性のある挙動も確認されたため、念のため共有させていただきます。
結論から申しますと、陳情書一覧ページの “賛同する” ボタンに関しまして、重大な欠陥があります。賛同数をいくらでも増やすことができてしまいます。
フロントエンドのスクリプト内に、APIのエンドポイントおよびシークレット情報が記載されており、それを利用することで外部から直接リクエストを送信できてしまう状況です。
【再現方法】
以下のコマンドをターミナルから実行するだけで、陳情書 ”外国人増加と民泊急増に伴う地域住民の治安不安” の賛同の数が1つ増えます。
curl -L 'https://script.google.com/macros/s/AKfycbzl9Qt83DpHWsE6QaUY6VCuofFsoABP33d6Bq-7uCSGoEnOjxnyKN4paQNH0oA9t7Nn6w/exec?action=like&rowNum=4&secret=reiwa2024voice!secure'
これを連続で何度も実行しても接続が拒否されるなどといった挙動は見られませんでした。
これは、サービスの信頼性に関わる重要な問題であると考え、ご連絡させていただきました。
ご確認のうえ、修正をご検討いただけますと幸いです。
具体的には、IPベースの回数制限やCAPTCHAなどの導入などをおすすめします。
また、こういったセキュリティに関する報告を受け付けやすくするため、security.txt の設置をお勧めします。PGP公開鍵なども記載していただくと、脆弱性を安全に報告することができます。
すでにお気づきであったのであれば申し訳ありません。
何かご不明点等ございましたら、お気軽にご連絡ください。
何卒よろしくお願いいたします。
2026/04/13
wsn0672 (https://wsn0672.jp)
3日後ぐらいに返答が返ってきました。令和ボイス開発者直々にお返事いただきました。
返事の内容はここに貼ったりはしないでおきますが、
「14歳ですごいね、何より、見つけた脆弱性を悪用しないで善意で私たち運営に知らせてくれてありがとう。「賛同する」ボタンのAPIエンドポイントの脆弱性は深刻な問題だと思ったから速やかに修正したよ。」
との旨の返信が来ました。
.....いや、あの、、
正直、ちゃんとしたサイトとして運営してるって上で、陳情の賛同数が curl で簡単に上げられるのは....
その、、、
僕も半年前までは IP 回数制限とかなしてログインフォーム解放しててブルートフォースされて乗っ取られたから人のこと言えないですけど...
悪用されて賛同数が1000ぐらい上がっててもおかしくなかったと思いますよ、、僕がすぐ気づけたってことは、、ね、
悪意ある人に見つからなくてよかったですね…
令和ボイスの開発者の自己紹介的なとこに "秘書 / 令和ボイス開発者 / AIエンジニア" って書いてあるので、、
まぁ、、そういうことでしょうね
別に個人を批判しているわけじゃないですよ
あのー、みなさん気をつけましょう!
修正されたようで何より
返信が返ってきてからもう一度試してみると、きっちり
{"success":false,"error":"認証エラー"} って返ってきました。
CAPTCHAかなんか実装したんですかね、まだソース見てないですけど
まぁ修正されたみたいでよかったです
おわりに
令和ボイスのCSSとかソース内のコメントからしてバイブコーディングで作ったのはよくわかります。これは別に批判してるわけじゃありません。てかできません。
僕も大好きですよ、楽なんだもん。
ただ、この件も、AI を信用しすぎていて自分で確認していなかったから起こってるんじゃないかなー、と思います。
正直、ちゃんと確認していれば「あれ?」って思って AI に「これ賛同数無限に上げれちゃわない?」って聞くぐらいはできたと思いますが..
...これ以上はやめときましょうか
この記事は個人を批判するものではありません
この記事は個人を批判するものではありません
この記事は個人を批判するものではありません
大事なことなので2回言いました
僕も中2のとき自作掲示板のログインフォームにブルートフォースされて乗っ取られましたから!!
人のこと言えません!!!!!
みなさん気をつけましょうねってことです
security.txt も置いてくれ。お願いだから。双方向のサイトには必須だってば。
えー以上、wsn0672でした
フォローしてね ^_−☆
-2026/05/01 21:36:58 wsn0672
Discussion