スキル article-list-processor
📦

article-list-processor

コンテンツリビジョン r1 高リスク ⚡ スクリプトを含む⚙️ 外部コマンド📁 ファイルシステムへのアクセス🔑 環境変数🌐 ネットワークアクセス

Transformer des listes d’articles en brouillons

Les équipes de contenu collectent souvent de nombreux liens d’articles, mais manquent d’un moyen répétable de les convertir en brouillons utilisables. Cette skill lit les listes de liens Markdown, récupère les articles sources et génère du contenu de brouillon réécrit par lots.

対応: Claude Codex Code(CC)
Maintain this Skill? Claim it ⚠️ 38 不十分

自分のエージェントでインストール

このリクエストをエージェントにコピーしてください。正規の Skill ページとマニフェストが含まれています。

エージェントリクエスト
Review the Skillstore skill "article-list-processor" from https://skillstore.io/skills/wangdefou-dev-article-list-processor.md and its manifest at https://skillstore.io/api/skills/wangdefou-dev-article-list-processor/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.

エージェントは引き続き計画を提示し、セキュリティポリシーで必要な確認を求める必要があります。

エージェントが読めるリソース

AI エージェント、クローラー、スクリプトがページ全体ではなく整理されたコンテキストを必要とする場合は、これらのリンクを使ってください。

テストする

「article-list-processor」を使用しています。 Une liste de lecture Markdown avec trois liens d’articles publics.

期待される結果:

  • La skill détecte le fichier dans le dossier d’entrée.
  • Elle récupère chaque article et extrait le texte lisible.
  • Elle enregistre des brouillons réécrits séparés avec les métadonnées de source.

「article-list-processor」を使用しています。 Une liste qui inclut un lien d’article inaccessible.

期待される結果:

  • L’article inaccessible est ignoré après l’échec de la récupération.
  • Les autres articles accessibles continuent d’être traités.
  • La liste d’entrée est archivée une fois le lot terminé.

セキュリティ監査

高リスク

I found no evidence of obfuscated malware or deliberate credential exfiltration. Confirmed risks include project .env and API key access, unrestricted outbound URL fetching, automatic file watching and reads, and an npm script execution path.

3
スキャンされたファイル
741
解析済み行数
16
レビュー項目
0
誤検知を無視

確認済みのセキュリティ上の懸念 (6)

高
Environment file access
const envPath = path.join(projectRoot, '.env');
The code builds a path to the project .env file outside the skill directory. That file is later loaded and can contain credentials, so this is real sensitive file access.
高
Environment file access
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;
The line reads ANTHROPIC_API_KEY from the loaded environment. This gives the community skill runtime access to an API secret.
高
Environment file access
const ANTHROPIC_BASE_URL = process.env.ANTHROPIC_BASE_URL;
The base URL setting controls where Anthropic client traffic is sent. If a hostile or mistaken value is loaded from .env, requests and possibly credentials can be redirected.
高
Prompt Injection Attempt Detected
EVALUATION.json includes self-assessment fields that claim safe_to_publish is true and summarize the skill as low risk. This embedded self-approval can bias automated review and should not be trusted as authority.
The file does not directly command the auditor to skip review, but it asserts its own safety in machine-readable audit fields. The prompt-injection guidance flags self-approval claims as suspicious.
中
Untrusted Article Content Enters LLM Prompt
Fetched article titles and body text are inserted directly into the model prompt. A malicious page can include instructions that alter generated output or weaken safety requirements.
The prompt template directly interpolates articleTitle and articleContent into the user message. There is no visible instruction boundary telling the model to treat fetched content as untrusted data.
中
Unrestricted URL Fetching From Markdown Input
Any parsed link that starts with http is fetched without host validation, scheme restrictions beyond the prefix, or private-network blocking. An untrusted input list can make the runner contact internal or unwanted endpoints.
The parser accepts any link beginning with http, and fetchArticleContent passes that URL directly to fetch. I found no allowlist, DNS/IP filtering, or localhost/private address guard.
機能レビュー項目 (16)

これらは、このスキルに期待される可能性のある実際のローカル機能であるため、レビューが必要ですが、確認済みの悪意ある動作としてはカウントされません。

高
Node.js child_process module
import { spawn } from 'child_process';
The child_process import enables the verification routine that spawns npm later in the file. This gives the skill external command execution capability even though the command is hardcoded.
高
Process spawn
const child = spawn('npm', ['run', 'skill:verify'], {
The skill runs npm run skill:verify after generating content, with shell execution enabled nearby. A package script can execute arbitrary local commands, so this is a real execution risk despite fixed arguments.
高
Environment variable access (dot notation)
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;
The skill reads ANTHROPIC_API_KEY from the environment. That is expected for model access, but marketplace users must trust the skill with a live API credential.
高
Environment variable object
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;
The skill reads ANTHROPIC_API_KEY from the environment. That is expected for model access, but marketplace users must trust the skill with a live API credential.
高
dotenv library
dotenv.config({ path: envPath, override: true });
dotenv.config loads the project .env file with override enabled. This is sensitive because the skill runtime receives project secrets, even if it mainly uses Anthropic settings.
高
Generic API/secret keys
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;
ANTHROPIC_API_KEY is read and passed into the Anthropic client. This is legitimate configuration, but it is still direct handling of a high-value API secret by community skill code.
高
Generic API/secret keys
apiKey: ANTHROPIC_API_KEY || 'dummy',
ANTHROPIC_API_KEY is read and passed into the Anthropic client. This is legitimate configuration, but it is still direct handling of a high-value API secret by community skill code.
中
Fetch API call
const response = await fetch(url, {
fetch(url) requests article links parsed from user-provided Markdown without an allowlist or private-network block. This can reach arbitrary HTTP targets from the user environment.
中
HTTP client library
import fetch from 'node-fetch';
node-fetch is imported and used to retrieve URLs parsed from local Markdown input. This creates outbound network capability that should be reviewed for SSRF and data-flow boundaries.
中
Node.js fs operations
const fileContent = fs.readFileSync(filePath, 'utf-8');
The skill synchronously reads filePath values delivered by the watcher. The path is expected to be under local_inputs, but there is no realpath or symlink validation before reading.
中
Synchronous file operations
const fileContent = fs.readFileSync(filePath, 'utf-8');
The skill synchronously reads filePath values delivered by the watcher. The path is expected to be under local_inputs, but there is no realpath or symlink validation before reading.
中
File system watching
import chokidar from 'chokidar';
The chokidar dependency is used to monitor an input directory and trigger automatic processing. The watched scope is limited, but it is still a real file observation surface.
中
File system watching
const watcher = chokidar.watch(INPUT_DIR, {
The watcher monitors local_inputs and processes existing files because ignoreInitial is false nearby. This automatic file processing is documented, but it can surprise users if stale files are present.
中
Environment variable access (dot notation)
const ANTHROPIC_BASE_URL = process.env.ANTHROPIC_BASE_URL;
The skill reads ANTHROPIC_BASE_URL and passes it to the SDK. A custom endpoint can redirect model traffic if the environment is misconfigured or tampered with.
中
Environment variable object
const ANTHROPIC_BASE_URL = process.env.ANTHROPIC_BASE_URL;
The skill reads ANTHROPIC_BASE_URL and passes it to the SDK. A custom endpoint can redirect model traffic if the environment is misconfigured or tampered with.
中
dotenv library
import dotenv from 'dotenv';
dotenv is imported and used to load project environment variables. Loading .env gives the skill access to local configuration and potential secrets.

リスク要因

⚡ スクリプトを含む (5)
⚙️ 外部コマンド (48)
📁 ファイルシステムへのアクセス (25)
🔑 環境変数 (18)
🌐 ネットワークアクセス (6)
監査者: codex 監査履歴を表示 →
このレポートを共有・引用

バージョン付き評価レポート、中立的なバッジ、埋め込みカード、引用を共有できます。Skillstore は証拠を報告しますが、この Skill が安全かどうかは判断しません。

バージョン別レポートを開く
セキュリティ評価

レポートリンクをコピー

https://skillstore.io/skills/wangdefou-dev-article-list-processor/audits/9?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdownバッジ

[![Skillstore security assessment](https://skillstore.io/badges/skills/wangdefou-dev-article-list-processor/security.svg)](https://skillstore.io/skills/wangdefou-dev-article-list-processor?utm_source=security_passport_badge)

HTMLバッジ

<a href="https://skillstore.io/skills/wangdefou-dev-article-list-processor?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/wangdefou-dev-article-list-processor/security.svg" alt="Skillstore security assessment" loading="lazy"></a>

埋め込みカード

<iframe src="https://skillstore.io/embed/skills/wangdefou-dev-article-list-processor.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>
学術引用 (APA · BibTeX · CFF)

APA形式の引用

wangdefou-dev. (2026). article-list-processor security audit report (audit version 9) [Author version unspecified]. Skillstore. https://skillstore.io/skills/wangdefou-dev-article-list-processor/audits/9

BibTeX形式の引用

@techreport{wangdefou-dev-wangdefou-dev-article-list-processor-2026, author = {wangdefou-dev}, title = {article-list-processor security audit report (audit version 9)}, institution = {Skillstore}, year = {2026}, number = {9}, url = {https://skillstore.io/skills/wangdefou-dev-article-list-processor/audits/9}, note = {Author version unspecified} }

CITATION.cff

cff-version: 1.2.0 message: "If you use this Skill, cite its author and this versioned security audit report." title: "article-list-processor security audit report (audit version 9)" version: "unspecified" type: report authors: - name: "wangdefou-dev" date-released: "2026-07-07" url: "https://skillstore.io/skills/wangdefou-dev-article-list-processor/audits/9" identifiers: - type: other value: "skillstore:wangdefou-dev-article-list-processor:audit:9" description: "Skillstore immutable audit report identifier"

Skillstore スコア

このスコアの理由 証拠の信頼度: 中
55
アーキテクチャ
85
保守性
85
コンテンツ
70
コミュニティ
83
仕様準拠

作成できるもの

Transformer des listes de lecture en brouillons

Convertir des liens d’articles enregistrés en premiers brouillons pour une modification et une publication ultérieures.

Traiter des liens de recherche par lots

Traiter une liste organisée d’articles web en matériel de brouillon structuré pour un calendrier de contenu.

Préparer des commentaires pour les réseaux sociaux

Générer des réécritures orientées opinion à partir de plusieurs articles sources pour révision par un éditeur.

これらのプロンプトを試す

Traiter ma liste de liens
Traite la liste d’articles Markdown que j’ai placée dans le dossier d’entrée local et crée des brouillons de publications pour chaque lien valide.
Tester le workflow
Exécute le workflow de liste d’articles en mode mock et confirme que mes liens Markdown sont détectés correctement.
Relire les brouillons générés
Relis les brouillons d’articles générés pour vérifier l’exactitude factuelle, le ton, l’attribution des sources et le risque de réutilisation.
Auditer une configuration par lots
Inspecte la configuration du workflow de liste d’articles, les entrées URL, les chemins de sortie et l’étape de vérification avant que je lance un grand lot.

ベストプラクティス

  • Utilisez uniquement des URL que vous êtes autorisé à récupérer et transformer.
  • Lancez d’abord de petits lots pour confirmer la qualité de sortie et la gestion des sources.
  • Relisez les brouillons générés pour vérifier l’attribution, l’exactitude et le risque lié au droit d’auteur.

回避

  • Ne traitez pas d’articles privés, payants ou protégés par connexion sans autorisation.
  • Ne placez pas d’URL internes sensibles dans le fichier Markdown d’entrée.
  • Ne publiez pas de brouillons générés sans relecture éditoriale humaine.

よくある質問

Quel format d’entrée cette skill utilise-t-elle ?
Elle attend des fichiers Markdown contenant des liens écrits comme des liens Markdown titrés.
A-t-elle besoin d’un accès à internet ?
Oui. Elle récupère les pages d’articles sources et envoie des prompts à un point de terminaison d’API compatible avec Anthropic.
Où les brouillons générés sont-ils enregistrés ?
L’implémentation écrit les fichiers Markdown générés dans le répertoire de sortie du projet configuré.
Peut-elle traiter de nombreux liens à la fois ?
Oui. Elle traite plusieurs liens à partir d’un seul fichier d’entrée avec une limite de concurrence de deux.
Vérifie-t-elle le contenu généré ?
Après une génération réussie, elle exécute un script de vérification npm codé en dur depuis la racine du projet.
Est-elle sûre pour les sources sensibles ?
Non. Évitez les URL privées, car le contenu récupéré peut être envoyé à un point de terminaison de modèle distant.

開発者情報

作成者

wangdefou-dev

ライセンス

MIT

Skillstore リビジョン

r1

バージョンに関する注意

作者はバージョンを宣言していません。

参照

36e07d5e13068e5be64447e8f20b427cf2cbd21a

メンテナンスの新しさ

2026/7/24

利用状況

16 ダウンロード · 206 閲覧

ファイル構成