一键导入
apm-audit
APM パッケージの security 監査を行うスキル。`apm audit --ci` で不可視 Unicode の検出と `apm-policy.yml` の denylist 違反を検査する。APM 依存の追加・更新後の検証や、CI への監査組み込み・policy 作成を求められたときに使用する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
APM パッケージの security 監査を行うスキル。`apm audit --ci` で不可視 Unicode の検出と `apm-policy.yml` の denylist 違反を検査する。APM 依存の追加・更新後の検証や、CI への監査組み込み・policy 作成を求められたときに使用する。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
APM プロジェクトを新規セットアップするスキル。`apm init` で apm.yml を生成し、`apm runtime setup` で対象エージェントを有効化する。APM の導入や、apm.yml が無いプロジェクトでの APM 関連操作を求められたときに使用する。
APM パッケージを Claude Code 等のエージェント設定に追加するスキル。`apm install` の実行と target・scope・version pin の判断を支援する。APM パッケージや skill の追加、apm.yml があるプロジェクトでの依存追加を求められたときに使用する。
APM パッケージを削除するスキル。`apm uninstall` で apm.yml・apm.lock.yaml・配置済みファイルを同期削除する(実行前に `--dry-run` で確認)。APM パッケージや skill の削除、`apm prune` による一括整理を求められたときに使用する。
APM 依存を最新版に更新するスキル。`apm outdated` で更新可能なパッケージを確認し、`apm update` で apm.lock.yaml を再生成する(version pin 済はスキップ)。APM 依存の更新・最新化を求められたときに使用する。更新後は apm-audit での検証を案内する。
| name | apm-audit |
| description | APM パッケージの security 監査を行うスキル。`apm audit --ci` で不可視 Unicode の検出と `apm-policy.yml` の denylist 違反を検査する。APM 依存の追加・更新後の検証や、CI への監査組み込み・policy 作成を求められたときに使用する。 |
| license | MIT |
| allowed-tools | Bash, Read, Write, Edit |
APM パッケージのセキュリティ検証を行うスキル。File presence IS execution (配置されたファイルが LLM に即読み込まれる) という APM の前提のもと、不可視 Unicode 攻撃検出と組織ポリシー違反検知の 2 系統をカバーする。
apm --version。apm-policy.yml の有無: 既存ならそれに従って検査、無ければ新規作成を提案。cd <project-root>
apm audit --ci
検査内容:
apm.lock.yaml の content_hash と実体の SHA-256 突合違反検出時は exit 1 で停止。
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 で、子側は厳しくしかできない (緩めることは不可)。
.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 タブで可視化される。
リポジトリ設定 → 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 では必ず付ける。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 で確認)