Back to skill

Security audit

Ctf Osint

Security checks for vulnerabilities and agentic risk

Overview

This CTF OSINT skill is mostly a reference guide, but it includes sensitive real-world profiling and credential-handling workflows without clear safety limits.

Install only if you will use it for authorized CTF or sandbox targets. Do not use the Discord user-token workflow, do not paste personal tokens into shell commands, avoid targeting real people or their home/work locations, and treat third-party OSINT lookups as disclosures of the target identifier. Use pinned dependencies in a virtual environment if you follow the install steps.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (3)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:17
Finding

Unpinned Third-Party Python Dependencies

Content
View full analysis
/dev/null | ssh-keygen -lf - -E md5 # Or use a dedicated scanner: # pip install ssh-audit ssh-audit target.onion ``` ### Technical Analysis The Skill recommends installing `shodan`, `Pillow`, and `ssh-audit` directly from the configured Python package index without version constraints or cryptographic hash verification. Package installation can execute package-controlled build and installation logic with the privileges of the invoking user. The package names appear legitimate, and the audit found no evidence that the Skill intentionally references a typosquatted or attacker-controlled package. Nevertheless, unconstrained installation means the effective dependency contents can change after the Skill has been reviewed. A compromised maintainer account, malicious future release, package-index compromise, or dependency substitution could therefore introduce arbitrary code. This behavior is not required at unrestricted scope. The declared OSINT functionality can be retained while installing only reviewed, reproducible package versions. ### Attack Path 1. A user follows the Skill's prerequisite or SSH auditing instructions. 2. The user runs an unpinned `pip install` command. 3. The configured package index resolves the name to the latest available release. 4. A compromised or malicious release supplies altered build or installation logic. 5. `pip` executes that logic during installation. 6. The malicious package obtains the same operating-system privileges and accessible data as the user running `pip`. ### Impact Assessment ...[truncated 527 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
social-media.md:291
Finding

Discord Authentication Token Exposed Through Command-Line Arguments

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
SKILL.md:159
Finding

OSINT Target Identifiers Transmitted over Plaintext HTTP

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (15)

YARA rule 'offensive_tool_references': References to well-known offensive security tools [hacktools]

High
Category
YARA Match
Confidence
70% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

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

md
points: `public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q=...`, `app.bsky.actor.searchActors`, `app.bsky.feed.getAuthorFeed`. Check all replies to official posts. See [social-media.md](social-media.md#unicode-homoglyph-steganography-on-bluesky-metactf-2026).

## Fake Service Banner Detection

**Pattern:** Port appears open on a standard service port (22/SSH, 80/HTTP) but runs a fake service. `nmap -sV` or `nc host port` reveals the flag in the banner. Never trust port numbers alone -- always fingerprint the service. See [web-and-dns.md](web-and-dns.md#fake-service-banner-detection-via-fingerprinting-metactf-flash-2026).

## Shodan SSH Fingerprint Lookup

Search Shodan by SSH host key fingerprint to identify servers: `shodan search "fingerprint:AA:BB:CC:..."`. See [web-and-dns.md](web-and-dns.md#shodan-ssh-fingerprint-lookup-ekoparty-ctf-2016).

## Gaming Platform OSINT

Lookup usernames across gaming platforms (Steam, Xbox, PSN, MMOs) for character profiles, activity, and linked ac

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

This section explicitly instructs the operator to use a Discord user token to access guild roles, emojis, and message search endpoints. That moves the skill beyond passive public-source OSINT into authenticated account access, encourages handling of sensitive credentials, and risks violating platform rules or enabling unauthorized data collection if used against servers the operator should not access.

Content

No source excerpt is available for this finding.

YARA rule 'offensive_tool_references': References to well-known offensive security tools [hacktools]

High
Category
YARA Match
Confidence
70% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

Scanner excerpt · web-and-dns.md (reported line 232)May include surrounding context.

nts.


Fake Service Banner Detection via Fingerprinting (MetaCTF Flash 2026)

Pattern (O-Syn-T): A port appears open on a standard service port (e.g., 22/SSH), but the service behind it is not what it claims. A basic SYN scan reports the port as open, but service version detection reveals a fake or custom banner containing the flag.

bash
# Step 1: Basic port scan finds port 22 open
nmap -sS target.ctf
# PORT   STATE SERVICE
# 22/tcp open  ssh

# Step 2: Service version fingerprinting reveals the deception
nmap -sV -sC target.ctf -p 22
# PORT   STATE SERVICE VERSION
# 22/tcp open  ssh?
# |_banner: MetaCTF{fake_banner_flag_here}

# Step 3: Or simply connect with netcat to read the banner
nc target.ctf 22
# MetaCTF{fake_banner_flag_here}

# Alternative: use curl or openssl for TLS-wrapped banners
echo "" | timeout 3 nc -w 3 target.ctf 22

Key insight: Never trust port numbers alone. A SYN scan only confirms the port is open, not what service is running. Always run `

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill explicitly guides privacy-impacting OSINT activities such as username enumeration, social media correlation, geolocation, political donation research, and public-records lookups, but it provides no warning about privacy, consent, legality, or scope limitations. In an agentic environment with internet access, this omission can normalize or automate doxxing-like or invasive profiling behavior against real people rather than only CTF targets.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This section instructs users to run metadata extraction tools on images, PDFs, and videos, which can reveal sensitive information such as GPS coordinates, device details, author names, or timestamps. The document provides no caution that inspecting or sharing such metadata may expose private or personal data.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · geolocation-and-media.md (reported line 324)May include surrounding context.

Or click on the map at the exact location

The W3W API requires an API key (not always available in CTF):

GET https://api.what3words.com/v3/convert-to-3wa?coordinates=30.2870,-97.7415&key=API_KEY

text

**Common pitfalls:**

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · social-media.md (reported line 65)May include surrounding context.

md
- Avatar URL pattern: `https://64.media.tumblr.com/HASH/HASH-XX/s512x512u_c1/FILENAME.jpg`

**Avatar as flag container:**
- Direct avatar endpoint: `https://api.tumblr.com/v2/blog/USERNAME.tumblr.com/avatar/512`
- Or simply: `https://USERNAME.tumblr.com/avatar/512` (redirects to CDN URL)
- Available sizes: 16, 24, 30, 40, 48, 64, 96, 128, 512
- Flags may be hidden as small text in avatar images (visual stego, not binary stego)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The Strava section gives a workflow for deriving a person's likely home or work area from public fitness routes and correlating it with maps and photos, without any safety or privacy guardrails. Even in a CTF context, this is directly transferable to real-world stalking, doxxing, or physical targeting because it operationalizes precise location extraction from consumer fitness data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The examples show placing a raw Discord token into curl Authorization headers without warning about token theft, account compromise risk, or policy violations. This encourages unsafe credential handling and may lead users to expose personal account tokens in shell history, logs, screenshots, or shared terminals.

Content

No source excerpt is available for this finding.

Ssd 4

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The workflow explicitly normalizes deriving answers from forensic artifacts and using a Telegram bot to obtain credentials for a secondary system. Even in a CTF framing, this can condition users toward harvesting credentials and interacting with external systems in ways that resemble real intrusion playbooks.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · web-and-dns.md (reported line 148)May include surrounding context.

bash
# Find all archived URLs for a site
curl "http://web.archive.org/cdx/search/cdx?url=example.com*&output=json&fl=timestamp,original,statuscode"
  • Check for deleted posts, old profiles, cached pages

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · web-and-dns.md (reported line 168)May include surrounding context.

md
# Historical WHOIS (before privacy was enabled)
# Use SecurityTrails, WhoisXML API, or DomainTools
curl "https://api.securitytrails.com/v1/domain/example.com/whois" \
  -H "APIKEY: YOUR_KEY"

# Reverse WHOIS — find all domains registered by same entity

Ssd 4

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This section gives concrete instructions for de-anonymizing a hidden service or CDN-backed host by correlating SSH/TLS fingerprints in Shodan. That materially lowers the barrier for targeting privacy-preserving infrastructure and could facilitate doxxing, surveillance, or follow-on attacks against concealed systems.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

This wording presents English as the default language for the workflow without noting that What3Words supports multiple languages or that language choice may matter. That can conflict with a language/locale policy requiring user choice rather than assuming a specific language.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This markdown section instructs users to inspect browser history, chat-related artifacts, and interact with a Telegram bot that may disclose credentials to secondary systems. While the behavior is described, there is no explicit warning about privacy, authorization, or careful handling of discovered credentials and forensic data, which the markdown-file criteria call for when user data or system integrity could be affected.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.