T08 · Insecure Dependencies
- Location
SKILL.md:29- Finding
Unpinned Remote Package Installation Can Execute an Unreviewed Release
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent model-benchmarking tool, but it handles provider API keys and recurring external calls with under-disclosed endpoint and persistence risks.
Review this carefully before installing. Use it only in an isolated environment with limited-scope API keys, avoid setting provider BASE_URL variables unless you fully trust the endpoint, prefer a pinned audited package version, and do not run watch or cron mode until you have cost limits, log retention, and a clear stop/cleanup plan.
SKILL.md:29Unpinned Remote Package Installation Can Execute an Unreviewed Release
claude_intel_monitor/providers.py:38Provider API Keys Can Be Redirected to an Arbitrary Environment-Controlled Endpoint
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
pip install claude-intel-monitor
# 测试某个模型(需要 API key)
claude-intel-monitor test --model claude-sonnet-4 --provider anthropic
# 自测模式(无需 API)
claude-intel-monitor test --self
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
pip install claude-intel-monitor
# 测试某个模型(需要 API key)
claude-intel-monitor test --model claude-sonnet-4 --provider anthropic
# 自测模式(无需 API)
claude-intel-monitor test --self
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
pip install claude-intel-monitor
# 测试某个模型(需要 API key)
claude-intel-monitor test --model claude-sonnet-4 --provider anthropic
# 自测模式(无需 API)
claude-intel-monitor test --self
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
pip install claude-intel-monitor
# 测试某个模型(需要 API key)
claude-intel-monitor test --model claude-sonnet-4 --provider anthropic
# 自测模式(无需 API)
claude-intel-monitor test --self
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
claude-intel-monitor history
# 设置基线(用于后续检测退化)
claude-intel-monitor baseline --model claude-sonnet-4
# 持续监控
claude-intel-monitor watch --model claude-sonnet-4 --provider anthropic --interval 6h
The watch command encourages unattended recurring calls to an external AI provider, which can amplify privacy exposure and billing impact if users do not understand that monitoring runs continuously. In the context of benchmark prompts and stored history, this becomes more dangerous because the loop can silently persist data and repeatedly transmit content off-host.
claude-intel-monitor baseline --model claude-sonnet-4
claude-intel-monitor watch --model claude-sonnet-4 --provider anthropic --interval 6h
## 基准测试题
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
# Set a baseline when the model is performing well
claude-intel-monitor baseline --model claude-sonnet-4 --provider anthropic
# A week later, test again and compare
claude-intel-monitor test --model claude-sonnet-4 --provider anthropic
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
claude-intel-monitor test --model gpt-4o --provider openai
# Test DeepSeek
claude-intel-monitor test --model deepseek-chat --provider deepseek
# View all results in history
claude-intel-monitor history
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
claude-intel-monitor test --model gpt-4o --provider openai
# Test DeepSeek
claude-intel-monitor test --model deepseek-chat --provider deepseek
# View all results in history
claude-intel-monitor history
The README explicitly recommends running the monitoring command in the background every 6 hours, which can create unattended outbound API activity and repeated local persistence without a prominent safety warning. In a security review context, automation plus external transmission increases risk of unnoticed charges, policy violations, and prolonged data retention.
# Run every 6 hours in the background
claude-intel-monitor watch --model claude-sonnet-4 --provider anthropic --interval 6h &
# Or add to a cron job for daily checks
0 9 * * * claude-intel-monitor test --model claude-sonnet-4 --provider anthropic >> ~/intel-monitor.log
The cron example operationalizes periodic external requests and appends logs to a local file, but the README does not pair this with warnings about recurring API spend, provider data exposure, or local log persistence. This is more dangerous in this skill context because the project is explicitly designed for repeated monitoring over time, making silent accumulation and repeated transmission likely.
claude-intel-monitor watch --model claude-sonnet-4 --provider anthropic --interval 6h &
0 9 * * * claude-intel-monitor test --model claude-sonnet-4 --provider anthropic >> ~/intel-monitor.log
Ideal for teams that rely on a specific model and need early warning if its performance silently degrades.
The skill explicitly instructs use of an external provider for model testing, which can transmit benchmark prompts, outputs, and potentially associated metadata outside the local trust boundary. In an agent setting, external provider selection is security-relevant because it may route sensitive evaluation data to third parties without clear consent, residency, or retention guarantees.
pip install claude-intel-monitor
# Test a model
claude-intel-monitor test --model claude-sonnet-4 --provider anthropic
# Set baseline for degradation detection
claude-intel-monitor baseline --model claude-sonnet-4
Creating a baseline for a named external model implies storing or comparing externally sourced responses over time, which may involve persistent transmission and retention of prompts and outputs. This is not malicious, but without clear disclosure and boundaries it can create privacy, compliance, and supply-chain risk in organizations using the skill.
claude-intel-monitor test --model claude-sonnet-4 --provider anthropic
# Set baseline for degradation detection
claude-intel-monitor baseline --model claude-sonnet-4
# View history
claude-intel-monitor history
Continuous watch mode against an external provider increases risk because it automates recurring outbound connections and repeated data disclosure over time. In monitored environments this can amplify cost, privacy leakage, and policy violations, especially if credentials, prompts, or histories are pulled from environment variables or local files during scheduled execution.
claude-intel-monitor history
claude-intel-monitor watch --model claude-sonnet-4 --provider anthropic --interval 6h
## Benchmark Structure
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
Usage:
claude-intel-monitor test # Run benchmark on default model
claude-intel-monitor test --model claude-opus-4 --provider anthropic
claude-intel-monitor test --model gpt-4o --provider openai
claude-intel-monitor test --self # Self-test mode (no API needed)
claude-intel-monitor history # Show past runs
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
Usage:
claude-intel-monitor test # Run benchmark on default model
claude-intel-monitor test --model claude-opus-4 --provider anthropic
claude-intel-monitor test --model gpt-4o --provider openai
claude-intel-monitor test --self # Self-test mode (no API needed)
claude-intel-monitor history # Show past runs
claude-intel-monitor baseline --model claude-opus-4 # Set baseline
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
Usage:
claude-intel-monitor test # Run benchmark on default model
claude-intel-monitor test --model claude-opus-4 --provider anthropic
claude-intel-monitor test --model gpt-4o --provider openai
claude-intel-monitor test --self # Self-test mode (no API needed)
claude-intel-monitor history # Show past runs
claude-intel-monitor baseline --model claude-opus-4 # Set baseline
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
Usage:
claude-intel-monitor test # Run benchmark on default model
claude-intel-monitor test --model claude-opus-4 --provider anthropic
claude-intel-monitor test --model gpt-4o --provider openai
claude-intel-monitor test --self # Self-test mode (no API needed)
claude-intel-monitor history # Show past runs
claude-intel-monitor baseline --model claude-opus-4 # Set baseline
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.
claude-intel-monitor test --model gpt-4o --provider openai
claude-intel-monitor test --self # Self-test mode (no API needed)
claude-intel-monitor history # Show past runs
claude-intel-monitor baseline --model claude-opus-4 # Set baseline
claude-intel-monitor watch --interval 6h # Continuous monitoring
"""
The description says the benchmark uses a fixed set of questions and that all questions are in Chinese, which imposes a specific language constraint. Under the policy, forcing a language without opt-in or a clearly documented locale-specific scope can be a natural-language policy violation.
The README explicitly promotes continuous background monitoring and persistent SQLite history storage, but it does not clearly warn users that this can cause recurring paid API calls and ongoing local data retention. In a tool that repeatedly sends prompts to external model providers, missing disclosure can lead to unexpected costs, unintended telemetry exposure, and unnoticed accumulation of benchmark outputs on disk.
This line reiterates that all benchmark questions are Chinese, reinforcing a fixed locale requirement. The README does not pair this with an explicit opt-in, alternative locale support, or a clear statement that the tool is intentionally limited to Chinese-language evaluation only.
The skill advertises and demonstrates capabilities that can touch external providers and likely local state, but it does not declare any explicit tool scope or permissions boundaries. In an agent environment, that ambiguity can cause the skill to be invoked with broader-than-necessary access, making unintended network calls, file reads, or environment access harder to govern and audit.
This markdown/manifest content describes the skill in general-purpose terms like "Detect intelligence degradation in Claude, GPT, and DeepSeek" but does not specify any concrete invocation phrases, scope limits, or exclusion conditions. In a skill-routing context, such broad wording can overlap with common requests about model quality or benchmarking and may cause unintended activation.
The description states the skill uses "30 standardized Chinese benchmark questions," and later reiterates "All Chinese" without indicating this is optional or providing an opt-in language choice. This is a natural-language locale constraint that can violate language/locale policy when imposed by default without user choice or explicit justification.
No suspicious patterns detected.