소스 정보
- 저장소
- aibot88/sec_skill_store
- 최근 소스 활동
- 2026년 5월 27일 03:47
- 감지된 SKILL.md 언어
- 일본어
- 스타
- 3
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/aibot88/sec_skill_store --skill secret-boundary명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files. This should trigger for requests such as Create a user story; Write a user story; I need to write a user story. Part of cursor-rules-java project
Guía técnica completa para integrar 250+ servicios externos con agentes IA usando Composio. Cubre instalación, autenticación OAuth, gestión de herramientas, triggers y flujos multi-servicio.
Facilitates conversational discovery to create Architectural Decision Records (ADRs) for non-functional requirements using the ISO/IEC 25010:2023 quality model. Use when the user wants to document quality attributes, NFR decisions, security/performance/scalability architecture, or design systems with measurable quality criteria. This should trigger for requests such as Create ADR for Non-functional requirements; Document Non-functional requirements; Capture Non-functional requirements; Generate Non-functional requirements in an ADR. Part of cursor-rules-java project
SOC 직업 분류 기준
SKILL.md 표시 중
| name | secret-boundary |
| description | AI実行環境のシークレット境界設定。settings.json permissions.denyルールを生成し、シークレットへの事故的アクセスを防止する。 |
| allowed-tools | Bash, Read, Write, Edit |
| argument-hint | [baseline|audit] [options] |
AI実行環境のシークレット境界を設定する。
重要: このスキルが提供するのは「事故防止のガードレール」です。
permissions.denyはAIエージェントの事故的なシークレット読み取りを防ぎますが、 強制的なセキュリティ境界ではありません(ユーザー自身が変更可能なため)。 強制力が必要な場合はmanaged settingsとsandboxを併用してください。このスキルでは守れないもの:
- 悪意ある攻撃者による意図的な回避(
cat .env、python -c "open('.env').read()"等)- 環境変数に展開済みのシークレット(
op run等で注入されたもの)- sandbox外のファイルシステムアクセス
プロジェクト構造を分析し、適切なセキュリティ設定を生成する。
プロジェクト構造を確認し、シークレットが存在しうる場所を特定する:
# リポジトリ内のシークレット候補ファイルを検出
# 値は一切読まず、パスのみ列挙する
find . -maxdepth 3 \( \
-name ".env" -o -name ".env.*" -o -name "*.env" \
-o -name "*.pem" -o -name "*.p12" -o -name "*.pfx" -o -name "*.key" \
-o -name "credentials.json" -o -name "service-account*.json" \
-o -name ".npmrc" -o -name ".netrc" -o -name ".pypirc" \
-o -name "secrets.yml" -o -name "secrets.yaml" \
\) -not -path "./.git/*" -not -path "./node_modules/*" 2>/dev/null | sort
# 現在のpermissions.deny設定のみを抽出(全文表示はしない)
for f in .claude/settings.json .claude/settings.local.json; do
if [ -f "$f" ]; then
echo "=== $f: permissions.deny ==="
python3 - "$f" <<'PYEOF'
import json, sys
try:
d = json.load(open(sys.argv[1]))
deny = d.get('permissions', {}).get('deny', [])
if deny:
for r in deny: print(f' - {r}')
else:
print(' (deny rules not set)')
except Exception as e:
print(f' (parse error: {e})')
PYEOF
fi
done
Step 1の結果をもとに、permissions.denyルールを生成する。
基本ルール(ほぼ全プロジェクトに適用可能):
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(**/.env)",
"Read(**/.env.*)",
"Read(**/secrets/**)",
"Read(**/*.pem)",
"Read(**/*.p12)",
"Read(**/*.pfx)",
"Read(**/*.key)",
"Read(**/credentials.json)",
"Read(**/service-account*.json)",
"Edit(./.env)",
"Edit(./.env.*)",
"Edit(**/.env)",
"Edit(**/.env.*)",
"Edit(**/secrets/**)",
"Edit(**/*.pem)",
"Edit(**/*.p12)",
"Edit(**/*.pfx)",
"Edit(**/*.key)",
"Edit(**/credentials.json)",
"Edit(**/service-account*.json)",
"Write(./.env)"
プロジェクト固有ルール(検出結果に応じて追加):
検出されたファイルパターンに合わせてRead/Edit/Writeのdenyルールを追加する。例:
.npmrcが存在 → "Read(.npmrc)", "Edit(.npmrc)", "Write(.npmrc)"config/secrets.ymlが存在 → "Read(config/secrets.yml)", "Edit(config/secrets.yml)", "Write(config/secrets.yml)"既存のsettings.jsonがある場合は上書きしない。 差分を提示し、ユーザーにマージ方針を確認する。
=== 推奨追加ルール ===
現在のdeny: [既存ルール一覧]
追加推奨: [新規ルール一覧]
マージ方法:
1. 追加ルールのみ追記(既存ルールは維持)
2. 推奨ルール全体で置換
3. 個別に選択
どの方法で適用しますか?
ユーザーの確認後、.claude/settings.jsonまたは.claude/settings.local.jsonを更新する。
生成した設定の検証手順を提示する:
=== 検証手順 ===
1. 防御されるケース(以下はdenyされるはず):
- Read(.env) → ブロック
- Bash(printenv) → ブロック
2. 防御されないケース(以下は通過する。これは仕様):
- Bash(cat .env) → 通過(Bashの引数マッチの限界)
- Bash(python3 -c "print(open('.env').read())") → 通過
- op runで展開された環境変数の読み取り → 通過
3. より強い保護が必要な場合:
- managed settingsを使用(ユーザーが変更不可)
- sandbox modeを有効化
- PreToolUse hooksで追加パターンを検出(hooks設定は手動で行う必要あり)
検出結果をもとに改善推奨を提示する:
/op-env migrateでop://参照に移行を推奨ガードレール以上の保護が必要な場合の案内:
リポジトリ内(およびオプションでホーム配下)のシークレット候補を走査し、現在の保護状況を報告する。
AIに秘密値を見せない。 スキャンはローカルscriptで実行し、パスと種別のみ返す。
# リポジトリのみ走査(デフォルト)
bash meta-plugin/skills/secret-boundary/scripts/secret-scan.sh
# ホーム配下も走査(opt-in)
bash meta-plugin/skills/secret-boundary/scripts/secret-scan.sh --include-home
path,type,modified,permissions,deny_rule_exists
./.env,env-file,2025-12-01,644,no
./config/secrets.yml,config-secret,2025-11-15,644,no
能力分類(prod到達性、課金影響、書込可否等)はscriptでは判定しない。
必要に応じてユーザーに対話で確認し、secret-boundary.local.yamlに記録する。
能力分類の補助台帳。必ず.gitignoreに追加すること(メタデータ自体が機微情報のため)。
# secret-boundary.local.yaml
# このファイルは.gitignoreに追加すること
secrets:
- path: .env
type: env-file
prod_reachable: false
billing_impact: true
writable: true
ttl: permanent
revocable: true
notes: "OpenAI API key (dev), Supabase anon key"
/op-env: 平文.envの保管衛生改善。secret-boundaryのremediate推奨からリンク/security-observation: コード内のセキュリティ脆弱性検出。対象が異なり補完関係/claude-md-optimizer: .claude/settings.json の最適化。secret-boundaryが生成した設定との整合性確認