Back to skill

Security audit

OSINT B2B Contact Base

Security checks for vulnerabilities and agentic risk

Overview

This skill is a clearly scoped B2B contact-research method with privacy and proof safeguards, not an executable data-harvesting or exfiltration package.

Install only if you need B2B public-contact research and are prepared to implement the required proof gate, suppression filter, and retention purge. Do not use it for private individuals, guessed personal emails, breach data, login-gated sources, or jurisdictions/channels where your outreach obligations cannot be met.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (2)

Anti-Refusal Statement

High
Category
Anti-Refusal
Confidence
80% confidence
Finding

Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.

Content

Scanner excerpt · SKILL.md (reported line 140)May include surrounding context.

md
**Sweep every run directory under `${RUNS_ROOT}` at the start of each run** — not the current one, whose `merged.json` does not exist yet. A purge aimed at the run you are about to create can only delete rows you just collected: a no-op in the costume of compliance, worse than no date at all, because it documents the breach. Purge **both** `merged.json` and `deliverable.json`: purging one while a stale copy survives beside it retains nothing less. Audit first, purge, re-audit — the second audit must print 0, and a second purge must purge 0.

**Trap G — the undated row compares as expired.** In jq, both `null` and `""` sort below any date string: `"" < "2026-07-16"` is **true**. Under the present-but-empty rule this skill imposes everywhere else, an unstamped row holds `""`, not `null` — so `select(.delete_after != null)`, the guard the word "null" invites, still destroys every one of them. Verified: `[null, "", "2020-01-01", "2099-01-01"] | map(select(. < "2026-07-16"))` keeps the first three; adding `. != null` keeps `""` in the kill list. A row whose date was never stamped is counted expired and silently destroyed. The direction is fail-closed, so it is not a breach — it is mute data loss on fresh rows, with no warning. Count undated rows separately and print them loudly as "purged as unretainable".

**Trap H — nobody stamps the date.** Declaring 12 months and showing `delete_after` in the schema does not compute it. Unless a step in your pipeline derives the date (`date -u -d '+12 months' +%F` on GNU, `date -u -v+12m +%F` on BSD/macOS — write both) and the agent contract requires it, your purge only acts on rows someone happened to date. Enforced retention means code, in the run.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill advertises very broad trigger phrases such as "build a lead list," "find their email," and "enrich these contacts," which can match many ordinary user requests and cause the skill to activate in contexts involving personal data collection. Because the skill performs OSINT-style contact discovery, overbroad triggering increases the chance of unintended invocation for sensitive or borderline-noncompliant prospecting tasks.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.