apm-audit
APM パッケージの security 監査を行うスキル。`apm audit --ci` で hidden Unicode (Glassworm 攻撃) 検出と `apm-policy.yml` の denylist 違反を検査する。GitHub Actions に組み込む場合は SARIF 出力で Code Scanning 連携可能。「security チェック」「policy 違反確認」「apm audit」「CI に統合」といった依頼や、新規 PR で APM 依存追加・更新があった場面で発火する。`apm-policy.yml` の作成支援も含む。
SKILL.md 本文
概要
APM パッケージのセキュリティ検証を行うスキル。File presence IS execution (配置されたファイルが LLM に即読み込まれる) という APM の前提のもと、不可視 Unicode 攻撃検出と組織ポリシー違反検知の 2 系統をカバーする。
前提検出
- APM CLI 有無:
apm --version。 - apm.yml 存在: 監査対象が無いとエラー伝播。
apm-policy.ymlの有無: 既存ならそれに従って検査、無ければ新規作成を提案。
手順
1. ローカル audit (依存追加直後)
cd <project-root>
apm audit --ci
検査内容:
- hidden Unicode: ゼロ幅文字 / RTL 文字 / Glassworm 系の不可視シーケンス検出
- lockfile 整合性:
apm.lock.yamlのcontent_hashと実体の SHA-256 突合 - 基本的な構造検証: フォーマット異常やマニフェスト不整合
違反検出時は exit 1 で停止。
2. Policy ベースの検査
apm-policy.yml で許可・禁止のパッケージ規則を宣言する。
例: apm-policy.yml の最小構成
policy_version: '1'
allowlist:
hosts:
- github.com
denylist:
patterns:
- '*/evil-*/**'
- '*/test-fake-*/**'
fetch_failure_default: block
ポリシー込みで監査:
GITHUB_TOKEN=$(gh auth token) apm audit --ci --policy org --no-cache
--policy org は組織レベルのポリシーをロードするオプション。継承順は Enterprise → Org → Repo で、子側は厳しくしかできない (緩めることは不可)。
3. SARIF 出力で Code Scanning 連携 (GitHub Actions)
.github/workflows/apm-audit.yml の例:
name: APM Audit
on:
pull_request:
push:
branches: [main]
jobs:
audit:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- name: Install APM
run: curl -sSL https://aka.ms/apm-unix | sh
- name: Baseline checks
run: apm audit --ci
- name: Policy checks (SARIF)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: apm audit --ci --policy org --no-cache -f sarif -o policy-report.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: policy-report.sarif
これで PR 時に違反が GitHub の Code Scanning タブで可視化される。
4. Branch protection への組み込み
リポジトリ設定 → Rules → Rulesets で APM Audit / audit を Require status checks to pass に追加することで、policy 違反時の merge を物理的にブロックできる。
注意点
fetch_failure_default: デフォルトはpass(fail-open) で、policy 取得失敗時は警告のみで通過する。安全運用ならblock(fail-closed) を明示的に設定する。--no-cacheの意味: ポリシー検査はキャッシュされた policy を使わず常に最新を取得する設定。CI では必ず付ける。- ローカル install 時の自動 audit:
apm install実行時にも基本的なチェック (Unicode + 構造) は走るので、CI と二重化される設計。apm audit --ciはそれを CI で再現するためのコマンド。 --no-policyの用途: 意図的にポリシーを無視するエスケープハッチ (例: 違反パッケージを CI 検証用に install する) だが、apm audit --ci自体は迂回できない。Policy enforcement の観点ではapm install --no-policyを使ってもダメで、CI で確実に止まる。
関連スキル
- 追加時の自動チェック:
apm-install(install 内部で基本 audit が走る) - 更新後の確認:
apm-update(更新後に再 audit 推奨) - 削除整合性:
apm-uninstall(削除後に lockfile 整合性を audit で確認)
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- drillan
- リポジトリ
- drillan/apm-skills
- ライセンス
- MIT
- 最終更新
- 2026/4/29
Source: https://github.com/drillan/apm-skills / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。