cccskills.com 공개 API에서 작업에 맞는 Agent Skills를 찾고 실행 점수, 안전 검사, 설치 조건, 라이선스, 업데이트 날짜와 가격을 비교합니다. 후보를 추리고 설치 명령이나 게시 페이지를 확인할 수 있습니다.
- 회의록 작성용 스킬 찾기
- 작업에 맞는 스킬 비교하기
- 안전 검사와 라이선스 확인하기
JavaScript 또는 TypeScript 프로젝트의 npm 공급망 위험을 점검합니다. 최근 공개된 버전, 설치 스크립트, 잠금 파일, CI 권한과 토큰 관리를 살펴보고 우선순위별 설정 개선안을 제시합니다.
JavaScript / TypeScript のプロジェクトを、npm のサプライチェーン攻撃(乗っ取られたパッケージの悪性バージョン、インストール時に動くスクリプト、CI からの認証情報の窃取)への備えという観点で読むだけで点検し、直すべき設定を優先順に示す。
ロックファイルの全パッケージについて公開からの日数とインストールスクリプトを npm レジストリで調べる。「npm の依存は大丈夫?」「サプライチェーン攻撃の対策をしたい」「axios みたいな乗っ取りに備えたい」ときに使う。
Audits a JS project's npm supply-chain posture (release-age gates, install scripts, lockfiles, CI tokens).
실행 점수 미검증
설치 방법 보기이 스킬은 JavaScript 또는 TypeScript 프로젝트를 읽고 npm 공급망 공격에 대비한 설정을 점검합니다. 잠금 파일을 바탕으로 패키지 관리자를 확인한 뒤, 공개 후 일정 기간이 지난 버전만 허용하는 설정, 의존 패키지의 설치 스크립트, CI 설치 명령, GitHub Actions 참조와 권한, 토큰 보관 위치를 살펴봅니다. 잠금 파일에 포함된 모든 패키지의 공개 시점과 스크립트 정의도 npm 레지스트리에서 확인합니다. 최근 공개되거나 철회된 버전, 설치 중 스크립트를 실행하는 패키지 등을 찾아 우선순위와 적용 가능한 설정 예시를 함께 제시합니다.
npm 의존성의 위험을 확인하거나 CI 권한과 인증 정보 취급을 다시 살펴보고 싶을 때 사용할 수 있습니다. 설정을 바꾸기 전에 무엇부터 손볼지 정리하는 데 도움이 됩니다.
Node.js 18 이상이 필요합니다. 패키지 공개 시점과 스크립트 정의를 가져오기 위해 registry.npmjs.org에 연결하지만, 프로젝트 파일이나 인증 정보는 전송하지 않습니다. 네트워크를 사용할 수 없으면 공개 정보 확인을 건너뜁니다. 패키지를 설치하거나 스크립트를 실행하거나 설정을 변경하지 않습니다. 파일 편집은 사용자가 동의한 경우에만 진행합니다.
이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.
AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.
점수에는 넣지 않았습니다. 2026년 10월 27일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
npm では、人気パッケージの開発者アカウントが乗っ取られ、悪性のバージョンが公開される事件が続いています(2025 年の自己増殖型ワーム Shai-Hulud、2026 年の axios の侵害など)。悪性バージョンの多くは、数時間から数日で見つかって取り下げられます。そのため、次の 3 つで被害の大半を防げます。
このスキルは、プロジェクトがこの 3 つをできているかを点検します。
npm install などのインストール、パッケージのスクリプトの実行、設定ファイルの書き換えはしない。直すかどうかはユーザーが決める。https://registry.npmjs.org からパッケージの公開情報(公開日時・スクリプト定義)を取得するだけ。プロジェクトのファイルや認証情報は送らない。.npmrc などにトークンが書かれていても、値は表示しない。「書かれている」ことだけを伝える。fetch を使う)。package-lock.json(npm)・pnpm-lock.yaml(pnpm)・yarn.lock(Yarn)・bun.lock(Bun)。package.json の packageManager も見る。npm -v・pnpm -v・yarn -v)。手順 2 の設定が使えるかどうかがバージョンで変わる。.gitignore に入っている、存在しない)なら、それを最初の指摘にする。| # | 点検すること | 見る場所 | 望ましい状態 |
|---|---|---|---|
| 1 | 公開から日の浅いバージョンを避ける設定 | npm 11.10 以上: .npmrc の min-release-age(日数)/pnpm: pnpm-workspace.yaml の minimumReleaseAge(分。pnpm 11 は既定で 1440)/Yarn 4.10 以上: .yarnrc.yml の npmMinimalAgeGate | 1〜7 日の待ち時間がある。除外(minimumReleaseAgeExclude など)は最小限 |
| 2 | インストールスクリプトの扱い | npm: .npmrc の ignore-scripts/pnpm: onlyBuiltDependencies・strictDepBuilds(pnpm 10 以降は既定で依存のスクリプトを動かさない)/Yarn: enableScripts | 依存のスクリプトは既定で止め、必要なものだけ許可している |
| 3 | CI のインストール方法 | .github/workflows/*.yml など | npm ci・pnpm install --frozen-lockfile・yarn install --immutable で、ロックファイルどおりに入れている |
| 4 | GitHub Actions の固定 | uses: の行 | 外部の Action はタグではなくコミット SHA で固定。pull_request_target で外部 PR のコードを checkout していない |
| 5 | CI の権限とトークン | ワークフローの permissions:・secrets.* | permissions を最小に絞っている。npm の公開には長期トークンではなく Trusted Publishing(OIDC)を使っている |
| 6 | 直接の依存の書き方 | package.json | *・latest・Git の URL・知らないレジストリを使っていない |
| 7 | 認証情報の置き方 | .npmrc・.env がコミットされていないか | トークンをリポジトリに置いていない |
node <このスキルのフォルダ>/scripts/lockfile-check.mjs <プロジェクトのフォルダ> --days 7
--days: これより新しいバージョンを「公開されたばかり」として挙げる(既定 7)。--max: 調べる件数の上限(既定 5000)。大きいプロジェクトで時間がかかるときに使う。recent: 公開から --days 日未満のバージョン。最優先で確かめる。 そのパッケージの GitHub のリリースや変更履歴にそのバージョンがあるか、npm のページで公開者がいつもと同じかを見る。乗っ取りの事件が報じられていれば、そのバージョンと照らし合わせる。installScripts: インストール時にスクリプト(preinstall / install / postinstall)が動くパッケージ。手順 2 の #2 で許可しているものと照らし合わせ、知らないものがあれば挙げる。missing: レジストリにもう無いバージョン(取り下げ済み)。悪性で取り下げられた可能性があるので、必ず挙げる。deprecated: 非推奨。セキュリティ上の理由が書かれていれば挙げる。errors: 取得に失敗したもの。社内レジストリのパッケージなどは対象外として扱う。## npm-supply-chain-check: <プロジェクト>
パッケージマネージャー: pnpm 10.18 / ロックファイル: あり(コミット済み) / 調べた依存: 612 件
### すぐ直す
1. **公開日数の待ちがない** — `pnpm-workspace.yaml` に次を足す(pnpm 10.16 以上)
```yaml
minimumReleaseAge: 1440
| パッケージ | バージョン | 理由 |
|---|---|---|
| foo | 3.2.1 | 公開から 0.5 日。GitHub のリリースに 3.2.1 がない |
pnpm install --frozen-lockfile
- 「すぐ直す」は効果の大きい順に並べ、それぞれに貼れる設定の差分を付ける。設定名と単位(日・分)は、手順 1 で確かめたバージョンのものを使う。分からなければ公式ドキュメントで確かめるよう添える。
- 待ち時間の設定は、公開から日の浅い悪性バージョンには効くが、長く潜伏する攻撃は防げない。過信しないよう一言添える。
- 直すかどうかを聞き、ユーザーが了承したときだけ設定ファイルを編集する。
## このスキルについて
- 作者: cccskills(https://github.com/cccskills/skills)
- 外部への通信は `registry.npmjs.org` からの公開情報の取得だけ。インストール・スクリプトの実行はしない。
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
cccskills.com 공개 API에서 작업에 맞는 Agent Skills를 찾고 실행 점수, 안전 검사, 설치 조건, 라이선스, 업데이트 날짜와 가격을 비교합니다. 후보를 추리고 설치 명령이나 게시 페이지를 확인할 수 있습니다.
일본 기업에서 개인정보 유출 또는 유출 의심 사실을 알게 된 직후의 대응을 정리합니다. 개인정보보호위원회 신고 요건과 기한을 확인하고, 내부 보고와 당사자 통지, 대외 발표문, 문의 답변 등의 초안을 작성합니다.
요청, 감사, 사과, 재촉, 거절, 일정 조율, 첫 연락에 필요한 일본어 비즈니스 메일을 작성하거나 수정합니다. 수신자에 맞춰 표현을 조정하고 경어와 메일 구성을 점검하며, 사실과 약속을 유지하면서 수정 이유를 설명합니다.
Agent Skill의 `SKILL.md`를 지침의 명확성, 절차의 구체성, 안전성, 설정 요건으로 검토합니다. 형식과 참조 파일을 확인하고, 근거가 포함된 A/B/C 평가와 낮은 항목을 개선할 문안을 제안합니다.
스킬을 설치하거나 에이전트로 저장소를 열기 전에 `SKILL.md`, 스크립트, 에이전트 설정을 읽기만 하며 점검합니다. 숨은 지시, 인증 정보 유출, 리버스 셸, 확인 없이 실행되는 훅 등의 위험을 찾아 설치 판단에 필요한 결과를 정리합니다.