Playground で skillshare を試す
デモ Skill、監査ルール、プロジェクトが事前設定された Docker サンドボックス — 数秒で探索を始められます。
前提条件
- Docker と Docker Compose がインストールされていること
- skillshare リポジトリを clone する:
git clone https://github.com/runkids/skillshare.git
Playground を起動する
cd skillshare
make playground
このコマンド1つで:
- サンドボックスの Docker イメージをビルドする(Go ツールチェーン込み)
- コンテナ内で
skillshareバイナリをコンパイルする - すべての Target が自動検出された状態で Global mode を初期化する
- カテゴリ別にデモ Skill(clean、warning、critical)を作成する
- プロジェクトレベルの Skill とカスタム監査ルールを持つデモプロジェクトをセットアップする
- インタラクティブなシェルに入る — すぐに探索できる状態
中身
デモ Skill(Global)
| Skill | カテゴリ | 監査の検出結果 |
|---|---|---|
audit-demo-clean | root | なし(クリーンなベースライン) |
deploy-checklist | devops/ | なし |
audit-demo-ci-release | security/ | HIGH + MEDIUM(sudo、外部 URL) |
audit-demo-debug-exfil | security/ | CRITICAL(認証情報の流出) |
audit-demo-external-link | security/ | LOW(外部 URL) |
audit-demo-dangling-link | security/ | LOW(壊れたローカルリンク) |
デモプロジェクト(~/demo-project)
事前設定された .skillshare/ プロジェクトには以下が含まれます。
hello-world— クリーンなプロジェクトの Skilldemos/audit-demo-release— 監査の警告があるリリースヘルパーguides/code-review— ネストされたコードレビューガイド- TODO/FIXME ポリシールール付きのカスタム
audit-rules.yaml
カスタム監査ルール
Global レベルと Project レベルの両方の audit-rules.yaml が事前設定されているため、ルールの
カスタマイズがどう機能するかを確認できます — ルールの有効化/無効化、カスタムパターンの追加、
許可リストの設定。
試してみること
# 何がインストールされているか確認する
skillshare status
skillshare list
# セキュリティ監査を実行する — さまざまな重大度レベルの検出結果を見る
skillshare audit
# Project mode を試す
cd ~/demo-project
skillshare status # Project mode を自動検出
skillshare audit # カスタムルールでのプロジェクトレベルのスキャン
# Web ダッシュボードを起動する(ポート 19420)
skillshare-ui # Global mode
skillshare-ui-p # Project mode
# ネストされた Skill を探索する
ls ~/.config/skillshare/skills/security/
ls ~/.config/skillshare/skills/devops/
Bare モード
自動初期化やデモコンテンツなしの、まっさらな状態から始めます。
./scripts/sandbox_playground_up.sh --bare
./scripts/sandbox_playground_shell.sh
skillshare init をゼロからテストするのに便利です。
Playground を停止する
make playground-down
データは Docker ボリューム(playground-home)に永続化されます。次に make playground を実行すると
続きから始められます。
アーキテクチャ
Playground はセキュリティが強化された読み取り専用の Docker コンテナで実行されます。
read_only: true— 指定されたボリュームを除きファイルシステムは不変cap_drop: ALL— Linux の capability なしno-new-privileges— 権限昇格を防ぐ- 書き込み可能なボリューム:
/sandbox-home(永続)、/tmp(tmpfs、256 MB) - Web ダッシュボード用にポート
19420が転送される
ワークスペースはホストのリポジトリから読み取り専用でマウントされます — 自分のマシンでコードを編集し、 コンテナ内で再ビルドできます。