Security
守るべきものを、
公開しない。
いちばん確かな守りは、攻められる場所を置かないことです。Cocoro CMS で公開されるのは、Astro が作った HTML と画像だけ。編集・承認・ビルドはすべて別の場所で行い、公開しているサーバーには、動くプログラムも、ログインの入り口もありません。
Why it matters
脆弱性の多くは、
プラグインの中に。
WordPress の本体は、よく守られています。それでも、あとから入れるプラグインやテーマで、毎日のように新しい脆弱性が見つかっています。見つかってから悪用されるまでが短く、「気づいたら更新する」では間に合わないことがあります。
11,334件
2025 年に新しく見つかった WordPress の本体・プラグイン・テーマの脆弱性(前年の 1.42 倍)
91%
そのうち、プラグインにあったもの。本体は 6 件
46%
公表された時点で、直した版がまだ無かったもの
5時間
よく狙われる脆弱性が、大量に悪用されはじめるまで(中央値)
出典:Patchstack「State of WordPress Security in 2026」。2024 年は 7,966 件・うち 96% がプラグイン(同社 2025 年版)。Wordfence の年次報告でも、2024 年に登録された脆弱性は 8,233 件。
Architecture
違いは、設定の多さではなく、
作りにある。
WordPress
公開サーバー
開くたびに動く・すべてを更新し続ける
Cocoro CMS
別の場所
編集・承認・ビルド
公開サーバー
HTML・画像だけ
訪れた人は、ファイルを受け取るだけ
| WordPress | Cocoro CMS | |
|---|---|---|
| ページを開いたとき | そのたびに PHP が動き、データベースを読む | 作っておいたファイルを返すだけ |
| 公開サーバーにあるもの | PHP・データベース・管理画面・プラグイン | HTML・CSS・画像 |
| ログインの入り口 | 公開サイトの中(/wp-admin など) | 公開サイトには無い |
| 機能を足すとき | プラグインを入れる | Astro の部品として作る(動くのはビルドのときだけ) |
| 守るための作業 | 本体・テーマ・プラグインを更新し続ける | 公開サーバーに、更新するプログラムが無い |
| 公開の前の確認 | プラグインや運用の決まりで用意 | 承認してから公開が最初から |
| 変更の記録 | リビジョン(データベースの中) | Git の履歴とプルリクエスト |
Defense in depth
6 つの層で、守る。
公開面に動くものが無くても、編集する側が破られたら意味がありません。Cocoro CMS は、書き込み・管理画面・中身・実行・記録の、それぞれに守りを置いています。
公開面
01 · Public site
動くものを置かない
- ✓公開されるのは Astro が作った HTML・CSS・画像だけ
- ✓PHP・データベース・ログイン画面・プラグインが、公開サーバーに無い
- ✓置き場は、お使いのサーバーか CDN。Cocoro CMS が止まっても、サイトは止まらない
書き込み
02 · Repository
GitHub の鍵を、1 か所に
- ✓GitHub の鍵を持つのは専用の小さなサービス(keeper)だけ。本体・データベース・ログには無い
- ✓求める権限は contents・pull_requests・metadata だけ。ワークフローは書けない
- ✓書き込めるのは cocoro/ の枝の早送りだけ。.github/ の下は拒否
- ✓承認は、確認したときの SHA に固定してマージ
管理画面
03 · Admin
入り口を固く
- ✓管理者と開発者は 2 段階の確認が必須(認証アプリかパスキー・予備のコード 10 個)
- ✓ログインは IP とメールで毎分 10 回まで。12 時間で自動ログアウト
- ✓CSP は default-src 'none'・script-src 'self'・frame-ancestors 'none'
- ✓Cookie は __Host- つき。HSTS は 1 年
中身
04 · Content
書けないものは、書けない
- ✓編集者と AI は、script・iframe・on〜 の属性・javascript: を記事に書けない
- ✓MDX の import・export・{式} も、編集者には書かせない
- ✓アップロードしたファイルはウイルス検査。SVG のスクリプトは取り除く
- ✓欄に入れた値はエスケープして書き戻すので、コードにならない
実行
05 · Sandbox
お客様のコードは、閉じ込めて動かす
- ✓ビルドとプレビューは、名前空間をすべて分けた隔離環境で
- ✓ネットワークは npm のレジストリだけ(ビルド中は無し)
- ✓権限はすべて落とし、システムコールも絞る
- ✓お客様ごとに別の利用者 ID と、CPU・メモリの上限
記録
06 · Audit
あとから、書き換えられない記録
- ✓操作の記録は、1 行ごとに前の行のハッシュを入れた鎖
- ✓毎日、鎖が切れていないかを確かめる
- ✓鎖の先頭は、別の場所に鍵つきで控える
- ✓保管はプランにより 30 日・1 年・3 年
Speed
静かなサイトは、
速いサイト。
ページを開くたびに組み立てる必要がないので、CDN から、できあがったファイルをそのまま返せます。中身は最初から HTML に書かれているので、検索エンジンもそのまま読めます。Astro の、必要なところにだけ JavaScript を使う作りも、そのまま活きます。
WordPress から移るには →
Cocoro CMS
伝えたいことを、
伝えたいときに。
Astro のサイトを、だれでも安全に更新できるように。フリープランは 1 サイト・2 人まで、ずっと無料です。