Skip to content

docs(skills): remove references to tools not installed in the sandbox#890

Merged
0xallam merged 1 commit into
mainfrom
devin/1785098514-remove-uninstalled-tool-mentions
Jul 26, 2026
Merged

docs(skills): remove references to tools not installed in the sandbox#890
0xallam merged 1 commit into
mainfrom
devin/1785098514-remove-uninstalled-tool-mentions

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Several skills and the agent system prompt recommended external CLIs that are not installed in the sandbox image (containers/Dockerfile). This can send the agent down a dead end invoking a missing binary. This PR audits every skill + prompt and replaces the unavailable tools with installed equivalents (or, where there's no equivalent, reworks the technique around what ships in the image).

Sandbox-installed recon/brute tooling is: subfinder, httpx, naabu, katana, nuclei, ffuf, nmap, sqlmap, wapiti, curl/jq/dig/whois/openssl — but not amass, tlsx, dnsx, asnmap, mapcidr, uncover, cero, hydra, cewl, patator, or msfconsole.

Changes

  • skills/reconnaissance/asset_discovery.md: previously claimed "the projectdiscovery suite (already available in the sandbox)" and built the whole methodology on tlsx/dnsx/asnmap/mapcidr/uncover (+amass/cero) — none installed. Rewritten around installed tools:
    • tlsx / active SAN harvest → httpx -tls-grab (or openssl s_client)
    • dnsxdig / nslookup
    • asnmap/mapcidrwhois (e.g. whois -h whois.cymru.com)
    • uncover → direct crt.sh via curl+jq, Censys/Shodan
  • skills/vulnerabilities/subdomain_takeover.md: pipeline example resolve (dnsx)resolve (dig).
  • skills/vulnerabilities/weak_password_detection.md: dropped hydra ("Primary Tool"), patator, and cewl; web logins now use ffuf, services use nmap NSE *-brute scripts. Replaced dead absolute paths /usr/share/wordlists/rockyou.txt and /usr/share/seclists/... (nothing ships by default) with guidance to download into /home/pentester/tools/wordlists at runtime.
  • agents/prompts/system_prompt.jinja: interactive-process example msfconsolesqlmap.

Left intentionally unchanged

  • skills/technologies/active_directory.md references bloodhound/impacket/netexec/kerbrute/hashcat/john/smbclient/responder/certipy, but the skill already ships an explicit pipx/go/apt install block for them, so they are installed-on-demand by design.
  • skills/* mentions of burp are conceptual comparisons ("humans often use Burp… prefer manual curl") and a nuclei -input-mode burp flag — never claimed as installed.

No code paths change; docs/prompt only.

Link to Devin session: https://app.devin.ai/sessions/9deb20122d4a4fdcb02b69c744ff0656
Requested by: @0xallam

Skills and the agent system prompt referenced external CLIs that are not
present in containers/Dockerfile, which could lead the agent to invoke
missing binaries. Replace them with installed equivalents:

- asset_discovery: drop amass/cero and the projectdiscovery tools that are
  not installed (tlsx/dnsx/asnmap/mapcidr/uncover); rewrite around the
  installed subfinder/httpx/naabu plus curl+jq (crt.sh), openssl s_client,
  dig, and whois. Stop claiming the full projectdiscovery suite is available.
- subdomain_takeover: replace dnsx with dig in the pipeline example.
- weak_password_detection: drop hydra/cewl/patator; use ffuf for web logins
  and nmap NSE *-brute scripts for services; fix dead /usr/share/wordlists
  and /usr/share/seclists paths (nothing ships by default -> download to
  /home/pentester/tools/wordlists at runtime).
- system_prompt: replace msfconsole with sqlmap in the interactive-process
  example.

active_directory skill is left as-is: it already ships an explicit install
block for its tools.
@0xallam 0xallam self-assigned this Jul 26, 2026
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@greptile-apps

greptile-apps Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR revises agent guidance to use tools available in the sandbox.

  • Replaces unavailable asset-discovery utilities with httpx, dig, whois, OpenSSL, and direct API queries.
  • Updates the subdomain-takeover pipeline to use subfinder and dig.
  • Reworks password testing around ffuf, Nmap NSE scripts, runtime-downloaded wordlists, and custom scripts.
  • Uses sqlmap instead of msfconsole in the terminal-session example.

Confidence Score: 4/5

The PR should not merge until the asset-discovery pipeline stops claiming that dig can preserve and directly participate in an end-to-end JSON chain.

The revised skill can direct agents to pass incompatible JSONL and DNS text formats between Subfinder, dig, and httpx, causing the reconnaissance stage to fail or lose discovered assets.

Files Needing Attention: strix/skills/reconnaissance/asset_discovery.md

Important Files Changed

Filename Overview
strix/agents/prompts/system_prompt.jinja Replaces the unavailable msfconsole process example with installed sqlmap without changing prompt structure.
strix/skills/reconnaissance/asset_discovery.md Rewrites discovery around installed tools, but incorrectly presents dig as a stage in an end-to-end JSON pipeline.
strix/skills/vulnerabilities/subdomain_takeover.md Replaces unavailable enumeration and resolution tools in the conceptual takeover workflow.
strix/skills/vulnerabilities/weak_password_detection.md Replaces unavailable brute-force utilities and nonexistent bundled wordlists with installed tools and runtime acquisition guidance.
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
strix/skills/reconnaissance/asset_discovery.md:146
**Broken JSON discovery pipeline**

When an agent follows this pipeline while retaining JSON output, `dig` neither consumes Subfinder JSONL nor emits JSONL for the following stage, causing DNS resolution or downstream parsing to fail and discovered hosts to be omitted.

Reviews (1): Last reviewed commit: "docs(skills): remove references to tools..." | Re-trigger Greptile

5. Wildcard SANs reveal naming conventions — seed targeted guesses instead of blind brute force.
6. Cluster by function, not product name, so the workflow generalizes to any exposed service.
7. Keep JSON output throughout so stages chain cleanly (`subfinder` → `dnsx` → `httpx` → `naabu`).
7. Keep JSON output throughout so stages chain cleanly (`subfinder` → `dig` → `httpx` → `naabu`).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Broken JSON discovery pipeline

When an agent follows this pipeline while retaining JSON output, dig neither consumes Subfinder JSONL nor emits JSONL for the following stage, causing DNS resolution or downstream parsing to fail and discovered hosts to be omitted.

Knowledge Base Used: Skills Library

Prompt To Fix With AI
This is a comment left during a code review.
Path: strix/skills/reconnaissance/asset_discovery.md
Line: 146

Comment:
**Broken JSON discovery pipeline**

When an agent follows this pipeline while retaining JSON output, `dig` neither consumes Subfinder JSONL nor emits JSONL for the following stage, causing DNS resolution or downstream parsing to fail and discovered hosts to be omitted.

**Knowledge Base Used:** [Skills Library](https://app.greptile.com/strix-org-3/-/custom-context/knowledge-base/usestrix/strix/-/docs/skills-library.md)

How can I resolve this? If you propose a fix, please make it concise.

@0xallam
0xallam merged commit 8169e17 into main Jul 26, 2026
1 check passed
@0xallam
0xallam deleted the devin/1785098514-remove-uninstalled-tool-mentions branch July 26, 2026 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant