T08 · Insecure Dependencies
- Location
SKILL.md:52- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill coherently connects to the Sectors market-data API using a user-provided API key, with no hidden destructive behavior found.
Install only if you trust the Sectors API provider and are comfortable giving the agent access to SECTORS_API_KEY for market-data queries. Prefer a protected secret store or session-scoped environment variable over putting the key in shell history, .bashrc, or repository .env files, and consider installing requests in an isolated environment with pinned versions.
SKILL.md:52Unpinned Third-Party Dependency Installation
SKILL.md:37API Key Exposed Through Plaintext Persistence and Command Arguments
Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
headers = {"Authorization": api_key}
try:
resp = requests.get(url, headers=headers, timeout=15)
except requests.exceptions.ConnectionError:
print(f"[!!] Cannot reach {BASE_URL}. Check your network connection.")
sys.exit(3)
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).
user to set it: export SECTORS_API_KEY="your-api-key-here" or run the setup check script at scripts/check_setup.py.
The API key must be available as the SECTORS_API_KEY environment variable.
# Option A: Set in your current shell
export SECTORS_API_KEY="your-api-key-here"
# Option B: Add to your shell profile (~/.bashrc, ~/.zshrc) for persistence
echo 'export SECTORS_API_KEY="your-api-key-here"' >> ~/.bashrc
# Option C: Use a .env file in the project root (see .env.example)
For agent-specific configuration:
claude config set env SECTORS_API_KEY your-api-key-here~/.config/opencode/config.json under envpip install requests
python scripts/check_setup.py
import os
import requests
API_KEY = os.environ["SECTOR
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
echo 'export SECTORS_API_KEY="your-api-key-here"' >> ~/.bashrc
For agent-specific configuration:
This skill performs network access to an external API, but that capability is reportedly not covered by declared permissions. In permissioned agent environments, undeclared network behavior is a real governance and security issue even when the destination is legitimate, because it bypasses least-privilege expectations.
This skill performs network access to an external API, but that capability is reportedly not covered by declared permissions. In permissioned agent environments, undeclared network behavior is a real governance and security issue even when the destination is legitimate, because it bypasses least-privilege expectations.
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).
_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
def main():
# 1. Check environment variable
api_key = os.environ.get(ENV_VAR)
if not api_key:
print(f"ERROR: {ENV_VAR} environment variable is not set.")
print()
print("Set it with one of:")
print(f' export {ENV_VAR}="your-api-key-here"')
print(f' echo \'export {ENV_VAR}="your-api-key-here"\' >> ~/.bashrc')
print()
print("Get your API key at: https://sectors.app/api")
sys.exit(1)
print(f"[ok] {ENV_VAR} is set ({len(api_key)} characters)")
# 2. Check requests is installed
try:
import requests
except ImportError:
print("[!!] 'requests' library is not installed.")
print(" Install it with: pip install requests")
sys.exit(3)
print("[ok] requests library is available")
# 3. Test API connectivity
url = f"{BASE_URL}{TEST_ENDPOINT}"
headers = {"Author
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import sys
ENV_VAR = "SECTORS_API_KEY"
BASE_URL = "https://api.sectors.app/v1"
TEST_ENDPOINT = "/subsectors/"
This is a markdown file, so missing-warning checks apply to documented behaviors affecting privacy or system integrity. The file states that requests require an Authorization: <api_key> header but provides no caution about protecting the API key, which could lead users to embed or expose credentials insecurely when following the reference.
This markdown file documents requests to an external API and explicitly requires an Authorization header containing an API key. Under the markdown-specific warning rule, the description lacks any caution about credential handling, external transmission, or protecting the key from logs and sharing.