Back to skill

Security audit

alon-fact-check

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent fact-checking skill that uses web research as expected, with an installation hardening note for its unpinned npx command.

Before installing, consider pinning or otherwise verifying the installer package/source instead of running a floating npx command. Once installed, the skill mainly guides the agent to search the web and cite sources for fact-checking; review links and claims as you would with any research workflow.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
README.md:9
Finding
Unpinned Third-Party Package Execution Through npx<![CDATA[ ## Vulnerability Details **File Location**: `README.md:9-13`; `README.zh.md:9-13` **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: Medium ### Vulnerable Code The English installation documentation contains: ```markdown ## Quick Install ```bash npx skills add alondotsh/alon-skills --skill alon-fact-check ``` ``` The Chinese installation documentation contains the equivalent command: ```markdown ## 快速安装 ```bash npx skills add alondotsh/alon-skills --skill alon-fact-check ``` ``` ### Technical Analysis The documented installation command asks `npx` to resolve and execute the `skills` npm package without specifying an exact version. The repository does not provide a lockfile, integrity hash, package signature, or other mechanism that binds installation to an audited package artifact. Consequently, the code executed by this command can differ from the code that existed when the skill was reviewed. If the resolved npm package or its dependency chain is compromised, malicious lifecycle scripts or command-line code could run during installation. This is a supply-chain weakness rather than evidence that the current package is malicious. Its security impact depends on the integrity of the package and registry content resolved when a user executes the command. ### Attack Path 1. An attacker compromises the npm account, publication pipeline, or dependency chain associated with the package resolved as `skills`. 2. The attacker publishes a malicious version that contains hostile CLI logic, an installation lifecycle script, or a malicious transitive dependency. 3. A user follows the documented command without an explicit package version. 4. `npx` resolves and downloads the attacker-controlled release. 5. The malicious package executes with the operating-system privileges and environment access of the user running the installation command. ### Impact Assessment Successful exploitation could provide arbitrary code execut ...[truncated 522 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the installer package to a reviewed, immutable version rather than allowing `npx` to resolve the latest available release: ```bash npx --package=skills@EXACT_REVIEWED_VERSION skills add alondotsh/alon-skills --skill alon-fact-check ``` 2. Replace `EXACT_REVIEWED_VERSION` with a specific version that the maintainers have audited; do not use floating tags such as `latest`, version ranges, or wildcards. 3. Document the expected npm registry and canonical package identity so users can detect dependency-confusion or registry-substitution scenarios. 4. Publish and document integrity hashes or signed release artifacts where the installation ecosystem supports them. 5. In automated environments, install dependencies through a committed lockfile and use integrity-enforcing installation modes. 6. Advise users not to run the installation command with administrator or root privileges. 7. Apply the same hardened command and verification guidance consistently in both `README.md` and `README.zh.md`. ]]>
Vulnerability Patterns
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Direct Prompt Extraction

High
Category
System Prompt Leakage
Content
- Before sending, compare the final report against the checked claim list. If any duplicate section, missing claim text, repeated verdict line, source mismatch, or malformed source line appears, rewrite the final report cleanly from the checked claim list.
- Prefer a shorter clean report over a longer report that risks duplicated sections or copied paragraphs.

## CRITICAL Output Rules

- **NEVER repeat any content**. Each section appears exactly ONCE. No duplicated tables, sources, or paragraphs.
- **Final self-check before sending**: verify claim numbering is sequential, no section is duplicated, every source belongs to the claim it is listed under, and there are no dangling or malformed source lines.
Confidence
85% confidence
Finding
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The README instructs users to run `npx skills add ...` without pinning a specific package version, which can fetch and execute whatever version of the CLI is current at install time. That creates a supply-chain risk: if the package is later compromised, typosquatted, or publishes a breaking/malicious release, users following the install command may execute unreviewed code on their machine.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Static analysis

No suspicious patterns detected.