Skip to main content
Glama

https://github.com/user-attachments/assets/ba467fae-a4c9-4f63-b2e6-3fc30fb023f3

🔐 GEMMA-by-GOOGLE — HALO

완전히 로컬에서 작동하는 자율 AI 침투 테스트 에이전트 — Gemma 4-12B가 정찰, 공격, 보고를 위해 42개 도구 무기고를 구동하며, 표준 Model Context Protocol(MCP) 서버로 노출됩니다. 클라우드 없음, API 키 없음.

기능 · 도구 · 아키텍처 · 스택 · 빠른 시작 · 변경 로그 · 기여하기

License Python Tools LM Studio Platform PRs Welcome GEMMA-by-GOOGLE MCP server


HALO는 로컬 LLM — LM Studio를 통해 제공되는 Gemma 4-12B(검열 해제 / abliterated)로 구동되는 Linux 환경 내에서 실행되는 자율 보안 에이전트입니다. HALO는 계획을 세우고, 정찰을 수행하며, 발견한 내용을 기반으로 공격을 연쇄적으로 실행하고, 전문적인 침투 테스트 보고서를 스스로 작성합니다. 모든 것이 로컬에서 실행됩니다: 클라우드 없음, API 키 없음, 어떤 것도 머신 밖으로 나가지 않습니다.

한 단어로 작전이 시작됩니다: engage.


기능

  • 🔍 자율 정찰 — masscan + nmap으로 열린 포트와 서비스 탐지

  • ⚔️ 자율 공격 루프 — 발견한 내용에 따라 도구를 선택하고 연쇄 실행

  • 🌐 웹 정찰 → 공격 파이프라인 — apex-to-URL 열거(하위 도메인, 호스트, 과거 URL), 콘텐츠 발견, 템플릿 스캔 및 XSS, CTF 스타일 웹 타깃에 대한 자동 플래그 캡처 포함

  • ✅ 배너가 아닌 검증된 침해 — 모든 시도는 익스플로잇이 뚫린 셸 내부에서 반향해야 하는 일회용 챌린지/nonce를 수반합니다. 단순한 uid=0 배너나 tarpit은 이를 위조할 수 없으므로, 확인된 침해는 실제 침해입니다(실행 기반 증거, 게이트에서 일회 소비).

  • 🎯 엄선된 PoC 라이브러리 — 결정적이고 자명한 익스플로잇(vsftpd 2.3.4, ingreslock, UnrealIRCd)을 샌드박스형 전달 프리미티브를 통해 실행하여 추측이 아닌 실제 셸을 반환합니다

  • 🧠 영구적 부정 경험 캐시 — 모든 세션에서 실패하는 것을 학습하고 검증된 막다른 길에 낭비하는 주기를 중단합니다

  • 🧩 적응형 스킬 주입 — 현재 목표에 따라 관련 공격 플레이북을 프롬프트에 로드합니다

  • 📝 자동 HTML 보고서 — 종료 시 발견 사항을 브랜드 보고서로 정리합니다

  • 🔒 100% 로컬 — LM Studio의 Gemma 4-12B; 어떤 것도 머신 밖으로 나가지 않습니다


Related MCP server: Debugg AI MCP

도구 무기고

42개의 도구가 에이전트의 결정 루프 뒤에 있으며, 모두 동일한 실패 캐싱 레이어를 통해 라우팅됩니다. 이 도구들은 halo_tools.py의 TOOLS 스키마 레지스트리에 한 번 정의되며 두 전송 방식(MCP 및 HTTP) 모두에서 제공됩니다.

정찰 및 OSINT

도구

용도

run_subfinder

하위 도메인 열거

run_theharvester

수동적 OSINT — 이메일, 하위 도메인, 호스트

run_httpx

HTTP 프로빙 및 핑거프린팅

run_katana

웹 크롤링

run_sherlock

90개 이상 플랫폼에서 사용자명 OSINT

run_shodan

인터넷 노출 인텔리전스 조회

run_phoneinfoga

전화번호 OSINT

run_phonextract

전화번호 OSINT / 추출

run_ghosttrack

사용자명 / IP / 전화 OSINT

run_cloudfox

클라우드 인프라 열거

run_wafw00f

WAF / 보안 솔루션 핑거프린팅

run_amass

하위 도메인 열거(기본적으로 수동)

run_dnsx

DNS 해석 및 프로빙

run_gau

OTX / Wayback / Common Crawl의 알려진 URL

run_waybackurls

Wayback Machine의 과거 URL

run_gowitness

시각적 정찰을 위한 웹 스크린샷

run_spiderfoot

헤드리스 멀티 모듈 OSINT 스캐닝

run_recon_ng

recon-ng OSINT 프레임워크(비대화형)

스캐닝

도구

용도

run_masscan

빠른 포트 발견

run_nmap

심층 서비스/버전 스캐닝

run_nikto

웹 취약점 스캐닝

run_nuclei

템플릿 기반 취약점 스캐닝

run_netstat

네트워크 연결 분석

웹 및 퍼징

도구

용도

run_gobuster

웹 디렉터리 무차별 대입

run_ffuf

웹 퍼징

run_feroxbuster

재귀적 콘텐츠 발견

run_dalfox

XSS 스캐닝(반사 / 저장 / DOM)

run_curl

HTTP 요청 테스트

run_wget

파일 검색

익스플로잇

도구

용도

run_sqlmap

SQL 인젝션 테스트

run_searchsploit

익스플로잇 조회

run_metasploit

선택한 Metasploit 모듈을 타깃에 발사(사람 승인 필요)

run_exploit

사용자 지정 PoC 스크립트의 샌드박스 실행

run_setoolkit

사회공학 툴킷

자격 증명

도구

용도

run_hydra

자격 증명 무차별 대입

run_ncrack

네트워크 인증 크래킹

run_medusa

고속 병렬 무차별 대입

run_john

해시 크래킹

열거 및 시스템

도구

용도

run_enum4linux

SMB / Samba 열거

run_command

임의 명령 실행

read_file

파일 내용 읽기

write_file

파일에 출력 쓰기


아키텍처

단일 도구 엔진(halo_tools.py)이 무기고와 그 스키마를 소유합니다. 그 위에 두 개의 얇은 전송 계층이 있어 도구는 정확히 한 번만 정의됩니다:

   agent_loop.py ──HTTP─►  tool_server.py ─┐
                                            ├─►  halo_tools.py  ──►  security tools
   MCP clients  ──stdio►  mcp_server.py  ──┘   (42-tool engine +
                                                 schema registry)
     │
     ├─►  agent_cache.py         (persistent negative-experience cache)
     ├─►  skills.py              (adaptive playbook injection)
     └─►  report_generator.py    (auto HTML pentest report on exit)
  • mcp_server.py — 사양을 준수하는 Model Context Protocol 서버(stdio, JSON-RPC 2.0). 모든 MCP 클라이언트(Claude Desktop, IDE 에이전트, 인스펙터) 또는 MCP 레지스트리를 이 서버에 연결하면 HALO의 무기고를 표준 도구로 사용할 수 있습니다.

  • tool_server.py — 자율 에이전트 루프가 구동하는 로컬 Flask HTTP 도구 서버(포트 8000).

HALO를 MCP 서버로 사용하기

// e.g. an MCP client config
{
  "mcpServers": {
    "halo": { "command": "python3", "args": ["/abs/path/to/mcp_server.py"] }
  }
}

제출 준비가 된 레지스트리 매니페스트는 server.json에 있습니다.

멀티 에이전트 계층

작전은 공유 메시지 스키마(agent_schema.py)를 주고받는 일련의 전문 에이전트들에 의해 조정됩니다:

에이전트

역할

planner_agent.py

목표를 순서가 있는 계획으로 전환

orchestrator_agent.py

작업을 올바른 전문가에게 라우팅

vuln_discovery_agent.py

후보 취약점을 표면화

attacker_agent.py

취약점 클래스 전문가(SQLi, 무차별 대입, IDOR, SSRF, XSS, 인증)로 분기

validator_agent.py

발견 사항이 인정되기 전에 실제 증거와 대조하여 확인

debugger_agent.py

실패한 도구 실행을 진단하고 조정

자율 에이전트 계층

부정 경험 캐시는 모든 도구 호출에 지문을 남깁니다. 실패한 호출은 한 번 재시도되며, 두 번 실패하면 블랙리스트에 등록되어 에이전트는 해당 작업에 더 실용적인 도구로 전환합니다. 작전 동안 에이전트는 자신의 시행착오 학습을 구조화합니다 — 맥락을 구축하고, 반복되는 막다른 길을 피하며, 지능적으로 에스컬레이션 — 이미 작동하지 않는다고 입증된 것을 다시 실행하는 대신.

분위기가 아닌 검증된 침해

자율 공격자의 가장 어려운 문제는 실제로 침입했는지, 아니면 희망적인 배너를 따라 말한 것인지 아는 것입니다. HALO는 챌린지-응답 게이트로 이 문제를 해결합니다:

  • 오케스트레이터는 발사 전에 해당 타깃과 정확한 페이로드 해시에 바인딩된 시도별 nonce를 발행합니다.

  • 도구 출력에 그 nonce를 반향하는 구조화된 HALO-EVIDENCE nonce=… level=… 줄이 포함된 경우에만 침해로 간주됩니다. 이 줄은 전달 프리미티브(pocs/_delivery.py)가 자신이 획득했다고 주장하는 셸 내부에서 코드를 실행해야만 생성할 수 있습니다.

  • nonce는 일회 소비입니다. 게이트(exploitation_core.py:breach_confirmed)는 재생되거나 발행된 적 없는 nonce를 거부하므로, tarpit, 반사된 문자열, 정적 uid=0 배너는 확인을 위조할 수 없습니다.

pocs/에 있는 엄선된 PoC는 결정적이고 자명한 버그(vsftpd 2.3.4, ingreslock 1524, UnrealIRCd 3.2.8.1)로, 이 게이트를 정직하게 통과합니다 — 실제 루트 셸을 획득하거나 아무것도 보고하지 않습니다.


어떻게 만들어졌나

HALO는 독학으로 배운 개발자이자 보안 연구원이 6개월도 안 되는 기간에 혼자서 처음부터 끝까지 만들었습니다. 멀티 에이전트 코어는 한 번에 한 명의 전문가씩 구성되었으며, 각 전문가는 다음 단계로 넘어가기 전에 실제 타깃에 대해 검증되었습니다:

  • 공유 언어: 에이전트들이 서로 대화할 수 있도록 하는 공통 메시지 스키마(agent_schema.py)

  • 플래너: 목표를 순서가 있는 계획으로 전환, 실제 LM Studio에 대해 검증됨

  • 오케스트레이터: 각 작업을 올바른 전문가에게 라우팅

  • 취약점 발견: 후보 취약점을 표면화, 실제 Metasploitable 타깃에서 테스트됨

  • 공격자: SQLi / 무차별 대입 / IDOR / SSRF / XSS / 인증 전문가로 분기

  • 디버거: 실패한 도구 실행을 진단하고 조정

  • 검증자 + 보고: 발견 사항은 인정되기 전에 실제 증거와 대조하여 확인된 후, 클라이언트가 읽을 수 있는 보고서로 정리됩니다

그 후 무기고는 42개 도구, 플래그 캡처가 포함된 완전한 웹 정찰 → 공격 파이프라인, 챌린지-응답 침해 확인으로 성장했으며, 부정 경험 캐시는 시행착오를 세션 전반에 걸친 지속적 학습으로 전환했습니다. 활발한 개발이 계속되고 있습니다 — 새로운 기능이 정기적으로 추가됩니다. 출시된 이정표는 변경 로그를 참조하세요.


스택

  • 모델: Gemma 4-12B Instruct Abliterated(LM Studio를 통한 GGUF) — 원하는 로컬 모델과도 작동

  • 에이전트: MCP 도구 호출을 사용하는 Python 자율 루프

  • 도구 전송: MCP 클라이언트용 Model Context Protocol 서버(stdio)와 에이전트 루프용 Flask HTTP 도구 서버(포트 8000)

  • OS: Kali Linux(Apple Silicon M1의 UTM에서 테스트됨)

  • 하드웨어 참조: MacBook Pro M1, 16GB RAM


빠른 시작

전체 설정은 **docs/QUICKSTART.md**를 참조하세요. 간단히:

git clone https://github.com/XenoCoreGiger31/GEMMA-by-GOOGLE.git
cd GEMMA-by-GOOGLE
python3 -m pip install -r requirements.txt

cp engagement.example.yaml engagement.yaml   # then fill in authorization + scope_targets

python3 tool_server.py      # terminal 1 — HTTP tool server on port 8000
python3 agent_loop.py       # terminal 2 — the agent

>>> engage 203.0.113.3     # full autonomous recon + attack
>>> run nmap on 10.0.0.1    # single-goal query
>>> exit                    # triggers HTML report generation

참고: 엔드포인트와 경로는 기본적으로 표준 로컬 설정을 사용합니다 (LM Studio는 localhost:1234, HTTP 도구 서버는 localhost:8000). 이 중 무엇이든 HALO_* 환경 변수로 재정의할 수 있습니다 — 환경 변수 재정의 표를 참조하세요. 작성자별 로그/캐시 경로 기본값 중 일부는 agent_cache.py와 tool_server.py에 남아 있으며, 환경 변수가 이들도 다룹니다.

agent_loop.py는 engagement.yaml 없이는 시작되지 않습니다 — 모든 도구 호출이 통과하는 권한 부여 및 범위 게이트이지, 선택적 구성이 아닙니다. Quickstart의 5단계를 참조하세요.


테스트 실행

단위 테스트는 Python에 내장된 unittest를 사용합니다 — 추가 종속성이 없습니다:

python3 -m unittest

기여

보안, AI, Python 커뮤니티의 기여를 환영합니다 — CONTRIBUTING.md를 참조하세요. 유용하다면 저장소에 Star를 눌러 주시거나, PR을 열어 함께 만들어 가요.

독립적인 독학 개발자이자 보안 연구자가 활발히 개발하고 있습니다. 새로운 기능이 정기적으로 제공됩니다.


면책 조항 및 법적 고지

이것은 독립 개발자의 커뮤니티 프로젝트입니다. Google LLC와 제휴, 보증, 후원 관계가 아닙니다. "Gemma"는 Google LLC의 상표입니다.

⚠️ 콘텐츠 경고: 참조된 모델은 안전장치가 크게 제거(heavily abliterated)되어 일반적인 보호 장치 없이 민감한 요청에 응답합니다. 책임감 있게, 적절한 환경에서만 사용하세요.

🔒 법적 경고: 이 도구는 본인이 소유했거나 테스트에 대한 명시적 서면 허가를 받은 시스템에 대해 인가된 침투 테스트 및 보안 연구 목적으로만 엄격히 사용됩니다. 승인되지 않은 사용은 불법입니다.

라이선스

MIT License에 따라 배포됩니다.

Available Tools

29 tools
read_fileB

Read and return the contents of a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesPath to read.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but offers minimal behavioral disclosure. It omits critical traits such as how it handles missing files, binary files, large files, or encoding. The agent cannot anticipate error behavior or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with a single sentence that immediately conveys the action. Every word earns its place; there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is largely complete. However, it could briefly mention that the tool returns file contents as text, but that is implied by 'contents.' It adequately covers the core functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter 'filename' described as 'Path to read.' The description does not add extra meaning beyond the schema. Baseline 3 is appropriate as the schema already defines the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Read and return the contents of a file' uses a specific verb ('Read') and resource ('file'), clearly stating the tool's function. It distinguishes itself from siblings like write_file (write) and run_command (execute commands), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like run_command with cat or run_cat. The description does not mention contexts, prerequisites, or exclusions, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_cloudfoxB

Enumerate the attack surface of an AWS environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileNoAWS profile name.default
command_typeNocloudfox subcommand.all-checks

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must fully convey behavioral traits. It fails to mention whether the tool modifies the environment, requires AWS credentials, or has side effects. The single sentence offers no insight into the tool's impact or requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no superfluous words. It is as concise as possible while conveying the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (2 optional parameters, no output schema), the description is incomplete. It lacks context about the tool's typical output, whether it is safe to run in read-only mode, and what 'enumerate the attack surface' entails in practice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters have descriptions in the input schema (profile and command_type), giving 100% coverage. The tool description adds no additional meaning beyond what the schema already provides, such as acceptable values for command_type or how the profile parameter is used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Enumerate the attack surface of an AWS environment' clearly states the tool's purpose: to run CloudFox for AWS enumeration. It distinguishes run_cloudfox from sibling tools that target different domains (e.g., network scanning with run_nmap, web enumeration with run_ffuf).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like run_nuclei or run_searchsploit. There is no mention of prerequisites, common use cases, or scenarios where this tool is inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_commandB

Execute an arbitrary shell command with sudo auto-escalation on permission errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesFull shell command line to execute.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose all behavior. It mentions sudo auto-escalation but omits critical traits: destructive potential, security implications, timeout behavior, output format, environmental constraints. For an arbitrary command execution tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no filler. Front-loaded with verb and resource. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema or annotations. Given the complexity of arbitrary command execution, the description should cover return values, error handling, and safety warnings. It is under-specified for safe agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% with clear parameter description. The tool description adds only the auto-escalation context, which is behavioral not semantic. Baseline 3 is appropriate since schema already handles parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Execute' and resource 'arbitrary shell command', clearly distinguishing it from sibling run_* tools that are specific to particular executables. The auto-escalation detail further clarifies capability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this generic tool versus the many specific run_* siblings (e.g., use run_nmap for nmap scans). Lacks when-not-to-use or alternative recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_curlB

Issue an HTTP request and return the verbose response.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesRequest URL.
dataNoRequest body for POST/PUT/PATCH.
methodNoHTTP method.GET
headersNoSingle header string.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral disclosure burden, but it only states it returns the verbose response. It does not mention timeout, error handling, redirects, authentication, or other important HTTP behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently communicates the tool's purpose without any wasted words or structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters and no output schema, the description is minimal but sufficient for a simple HTTP request tool. It covers the core functionality but lacks detail on edge cases or response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema, but the schema already adequately defines each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it issues an HTTP request and returns the verbose response, which is a specific verb and resource. It distinguishes from sibling tools like run_ffuf (fuzzing) or run_nmap (network scanning) by being a general HTTP client, but does not explicitly differentiate from run_wget.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or exclusions, leaving the agent to infer from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_enum4linuxB

Enumerate SMB/Samba shares, users, and policies on a host.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget host.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations given; description does not disclose authentication needs, potential destructiveness, or rate limits. Simply states 'enumerate' without behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words, but lacks depth; still concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple one-parameter tool, but lacks behavioral context and output description; not fully complete given no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter with full schema coverage; description adds no additional meaning beyond the schema's 'Target host.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool enumerates SMB/Samba shares, users, and policies, which is specific and distinguishes it from other run_* tools like run_nmap or run_sqlmap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, no prerequisites or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_exploitA

LAST RESORT: run a custom Python PoC in the isolated sandbox runner. Requires operator approval upstream.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesFull Python script source.
phaseNo'test' (no network) or 'attack'.test
targetNoTarget ip or ip:port.
timeoutNoSeconds before kill.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Mentions isolated sandbox and operator approval, but lacks details on error handling, return value, or logging. Does not disclose what happens on failure or success.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two short sentences, front-loaded with 'LAST RESORT'. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main purpose and safety, but fails to explain what happens after execution (e.g., output, results). No output schema, so description should mention return behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with descriptions for all parameters. Tool description adds context (custom PoC, sandbox) but does not enhance parameter semantics beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool runs a custom Python PoC in an isolated sandbox, distinguishing it from sibling tools like run_nmap or run_sqlmap which are specific tools. The 'LAST RESORT' emphasizes its use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly marks as 'LAST RESORT', implying other tools should be tried first, and requires operator approval. Does not name specific alternatives but context from sibling tools provides that.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_ffufC

Fast web fuzzer for directories, parameters, and vhosts.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL containing or receiving the FUZZ marker.
paramNoFuzz marker.FUZZ
wordlistNoWordlist path./usr/share/seclists/Discovery/Web-Content/common.txt

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations and the description only says 'Fast web fuzzer', which does not disclose behavioral traits such as destructive potential, authentication needs, rate limits, or output format. Basic transparency is lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (6 words) but lacks sufficient detail for an agent to use the tool effectively. It is efficient but at the cost of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and a minimal description, the context is incomplete. An agent would need more information about expected output, prerequisites, and tool behavior to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 3 parameters. The tool description does not add extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies it as a 'web fuzzer' for directories, parameters, and vhosts, which is a specific verb+resource. However, it does not differentiate from sibling tools like run_gobuster, which has overlapping capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., run_gobuster, run_nuclei). The description merely states what it is, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_gobusterC

Brute-force web content, DNS, or vhosts against a wordlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNogobuster mode: dir/dns/vhost.dir
targetYesBase URL or host.
wordlistNoWordlist path./usr/share/seclists/Discovery/Web-Content/common.txt

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It states 'brute-force' implying potentially aggressive behavior, but does not mention rate limiting, authentication needs, resource impact, or whether the tool is read-only. This is insufficient for an agent to anticipate side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence. It is front-loaded with the core action, though could be more structured with explicit mode mention.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple modes, no output schema, no annotations), the description is insufficient. It fails to explain return values, progress indication, or how it differs from similar tools in the sibling list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description adds minimal extra meaning beyond listing modes. It does not clarify path formats or expected input conventions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool brute-forces web content, DNS, or vhosts using a wordlist. It identifies the verb and resources, but does not explicitly distinguish from closely related sibling tools like run_ffuf.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as run_ffuf, run_nikto, or run_nmap. There is no mention of prerequisites, exclusions, or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_httpxB

Probe hosts for live HTTP services (status, title, tech detection).

ParametersJSON Schema
NameRequiredDescriptionDefault
flagsNoOverride httpx flags.
targetYesURL or host.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states it probes for live HTTP services. It does not disclose behavioral details like redirect handling, timeout, rate limits, or response format, leaving agent uncertain about execution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single, front-loaded sentence with no redundant information. Every word serves a purpose, making it efficient for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and sibling tools with similar names, the description is overly minimal. It lacks details on output structure, default ports, or how it differs from run_curl, leaving gaps for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description adds context about expected results (status, title, tech detection) which indirectly informs parameter usage, but does not elaborate on flags format or target specifics, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it probes hosts for live HTTP services, listing specific actions (status, title, tech detection), and the tool name 'run_httpx' aligns with the tool's purpose. It distinguishes from siblings like run_curl (custom HTTP requests) and run_nmap (port scanning).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as run_curl or run_nikto. The description implies it's for initial probing but fails to specify conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_hydraB

Parallelized network login brute-forcer across many protocols.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget host.
serviceNoProtocol, e.g. ssh/ftp/http-get.ssh
threadsNoParallel tasks.16
usernameYesUsername to test.
wordlistNoPassword wordlist path./usr/share/seclists/Passwords/Common-Credentials/darkweb2017_top-1000.txt

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It mentions parallelism and brute-forcing but fails to disclose potential consequences like account lockouts, network disruption, or legal implications. The description does not warn about destructive nature or authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no waste. However, for a sensitive tool, it could benefit from additional context without being overly long. Still, it is front-loaded and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no output schema, no annotations) and sensitivity, the description is incomplete. It does not explain return values, success/failure behavior, or safety considerations. Sibling tools are similar but no differentiation is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so descriptions for each parameter already exist. The tool description adds no parameter-specific meaning beyond the general statement. Baseline 3 is appropriate as schema already documents parameters well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it's a 'parallelized network login brute-forcer across many protocols,' specifying the verb (brute-force), resource (network login), and scope. This distinguishes it from sibling tools like run_ncrack or run_medusa which target specific protocols or are general crackers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for brute-forcing network logins but does not provide explicit guidance on when to use this tool over alternatives or any prerequisites. No exclusions or context are given for selecting protocols or handling potential lockout risks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_johnC

Crack password hashes with John the Ripper against a wordlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoForce a hash format.
wordlistNoWordlist path./usr/share/seclists/Passwords/Common-Credentials/darkweb2017_top-1000.txt
hash_fileYesPath to the hash file.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only states the basic action without mentioning potential side effects (e.g., system resource usage), output location, error conditions, or required permissions. Important for a security tool that may be destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single succinct sentence that conveys the core purpose without extraneous information. It is well-structured and front-loaded, though it could include more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and three parameters, the description is insufficient. It does not explain what happens after cracking (success output, logging), potential hash format constraints, or the role of the default wordlist. A more complete description would improve usability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for each parameter (format, wordlist, hash_file). It does not clarify expected formats or relationships between parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool cracks password hashes with John the Ripper using a wordlist, providing a specific verb and resource. However, it does not differentiate from sibling tools like run_hydra or run_ncrack that also perform password cracking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as run_hydra (online brute-force) or run_searchsploit (exploit search). The description lacks any context about appropriate use cases or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_katanaC

Crawl a web target and map its attack surface.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoCrawl depth.3
targetYesSeed URL.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description lacks disclosure of behavioral traits. No mention of potential side effects like network requests, noise, authorization needs, or what 'attack surface' mapping entails. With no annotations, the burden is high but unmet.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately concise for the information it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having only 2 parameters and no output schema, the description is too brief. It omits details about output format, error handling, depth behavior, and the scope of 'attack surface'. Incomplete for a scanning tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's 'Seed URL' and 'Crawl depth' descriptions. No additional value from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb 'crawl' and resource 'web target' with outcome 'map its attack surface'. This is clear but does not explicitly differentiate from sibling reconnaissance tools like run_gobuster or run_ffuf, though the concept of crawling is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. No context on prerequisites, suitability, or scenarios where katana is preferred over other similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_masscanB

High-speed asynchronous TCP port scan of a target or CIDR range.

ParametersJSON Schema
NameRequiredDescriptionDefault
rateNoPackets per second.1000
portsNoPort or range.1-65535
targetYesIP, hostname, or CIDR to scan.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It mentions 'high-speed asynchronous' which implies network impact, but lacks details on permissions, potential destructiveness, rate limiting, or response handling. Basic but insufficient for informed selection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no redundancy. Key information is front-loaded ('High-speed asynchronous TCP port scan'). Every word contributes to purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (security scanning, potential for misuse) and lack of output schema, the description is too sparse. Missing details on output format, execution context, warnings, or integration with other tools. Needs expansion for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra parameter information beyond the schema definitions. It does not enhance understanding of parameters or provide usage examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a 'high-speed asynchronous TCP port scan' on a 'target or CIDR range', using specific verb 'scan' and resource. It distinguishes from siblings like run_nmap by emphasizing high-speed and asynchronous nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., run_nmap, run_ffuf). The description implies speed advantage but does not specify context, prerequisites, or timeouts when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_medusaC

Fast, parallel, modular network login brute-forcer.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget host.
serviceNoProtocol module.ssh
usernameYesUsername to test.
wordlistNoPassword wordlist path./usr/share/seclists/Passwords/Common-Credentials/darkweb2017_top-1000.txt

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must disclose behavioral traits. It mentions 'fast, parallel, modular' but omits important details like destructiveness, authentication requirements, rate limiting, or that brute-forcing may be disruptive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but too brief to fully inform. It lacks structure and detail, though it is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given it is a brute-forcing tool with no output schema or annotations, the description is incomplete. It does not describe return values, error behavior, or other critical context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no additional parameter information beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a 'network login brute-forcer', which is a specific verb-resource combination. However, it does not differentiate from sibling tool run_hydra, which performs similar brute-forcing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like run_hydra, or any context for preferred usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_ncrackC

High-speed network authentication cracking.

ParametersJSON Schema
NameRequiredDescriptionDefault
usersNoComma-separated usernames.root,admin,administrator
targetYesTarget host.
serviceNoProtocol.ssh
wordlistNoPassword wordlist path./usr/share/seclists/Passwords/Common-Credentials/darkweb2017_top-1000.txt

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must cover behavioral traits. It only states 'High-speed network authentication cracking,' which implies brute-force attacks but does not disclose potential side effects like rate limits, stealth options, server load, or account lockouts. For a security tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no extraneous words. It is maximally concise and front-loaded with the key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 4 parameters and no output schema, the description is extremely brief. It does not explain the significance of parameters, default values, or how to use them effectively. For a potentially dangerous tool like Ncrack, more context (e.g., warnings, expected outcomes) is needed for safe and correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter having a basic description. However, the tool description adds no additional meaning beyond these minimal schema comments. For example, 'Comma-separated usernames.' and 'Protocol.' are terse. The description does not provide examples, format details, or usage notes, so it meets the baseline but adds no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'High-speed network authentication cracking' clearly states the tool's purpose with a specific verb and resource. It distinguishes itself from siblings like run_hydra, run_medusa, and run_john by emphasizing 'high-speed' and 'network', though it doesn't explicitly differentiate from hydra/medusa. Still clear enough for an agent to understand the core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives like run_hydra or run_medusa. There are no mentions of prerequisites, when not to use, or typical scenarios. The description offers no context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_netstatC

List network connections and listening sockets (falls back to 'ss').

ParametersJSON Schema
NameRequiredDescriptionDefault
flagsNonetstat/ss flags.-tuln

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions a fallback to 'ss' but lacks details on permissions, output format, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no wasted words. Could be slightly more structured but is efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and minimal annotations, the description is insufficient. Lacks return value information, usage context, and fails to explain how results are presented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter, so baseline is 3. The description does not add significant meaning beyond the schema's 'netstat/ss flags.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists network connections and listening sockets, with a fallback to 'ss'. It provides a specific verb and resource, but could better distinguish from sibling network tools like run_nmap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description does not include when-not-to-use or mention any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_niktoC

Scan a web server for known vulnerabilities and misconfigurations.

ParametersJSON Schema
NameRequiredDescriptionDefault
sslNoUse HTTPS.
portNoTarget port.80
targetYesHost or URL to scan.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It does not mention that Nikto is a network vulnerability scanner, potential intrusiveness, or any side effects. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, efficient and front-loaded. However, it could include slightly more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a vulnerability scanner and absence of output schema or annotations, the description is insufficient. It lacks details on output, authentication, or risk.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already explains each parameter. The description adds no new semantic meaning beyond the schema, warranting baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scans a web server for vulnerabilities and misconfigurations. It uses a specific verb and resource, but does not explicitly distinguish from siblings like run_nmap or run_gobuster.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. Given many siblings are scanning tools, explicit when-to-use or when-not-to-use would help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_nmapA

Detailed port/service scan with version and script detection.

ParametersJSON Schema
NameRequiredDescriptionDefault
flagsNonmap flags.-sV
targetYesIP or hostname to scan.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It mentions version and script detection, but does not disclose potential side effects like network traffic, root requirements, or scan duration. Provides basic behavior but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the main purpose. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of nmap and the absence of an output schema, the description is somewhat incomplete. It does not mention scanning behavior, limitations, or performance considerations, but it provides a high-level overview sufficient for basic understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both parameters are described in the input schema). The description does not add additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs a 'Detailed port/service scan with version and script detection' using nmap, which is specific and distinguishes it from sibling tools like run_curl or run_enum4linux.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as run_masscan or run_nikto. No when/when-not or comparative context is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_nucleiB

Run community vulnerability templates against a target.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget URL.
severityNoSeverity filter, e.g. 'medium,high,critical'.
templatesNoTemplate path or tag filter.

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are given, and the description does not disclose behavioral traits such as potential destructiveness, network impact, authentication requirements, or whether the tool sends intrusive requests. This is a significant gap for a vulnerability scanning tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the purpose. However, it lacks additional context that would justify its brevity; it feels underspecified rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (vulnerability scanning with parameters for severity and templates) and lack of output schema or annotations, the description is insufficient. It does not explain expected output, template syntax, or potential risks, making it incomplete for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents parameters. The description adds no extra meaning beyond the basic action, but the baseline of 3 is appropriate since it doesn't contradict or misuse the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs community vulnerability templates against a target, using a specific verb and resource. It distinguishes itself from sibling tools like run_nmap or run_gobuster, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., run_nmap for port scanning, run_sqlmap for SQL injection). There are no prerequisites or context on appropriate targets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_phoneinfogaB

OSINT footprinting of a phone number (carrier, region, formatting).

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number in international format.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only offers a high-level overview ('footprinting'). It fails to disclose details like network requests, output format, or any potential side effects. The word 'footprinting' is vague and does not clarify read-only vs. active reconnaissance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately conveys the core purpose. It is efficient and front-loaded, though it could be slightly more informative without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is minimally adequate. However, it lacks context on what exactly the output contains, how the tool behaves (e.g., live query vs. local database), and any usage constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'number', which has a clear description ('Phone number in international format'). The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'OSINT footprinting of a phone number' and specifies the key outputs (carrier, region, formatting). It uniquely identifies the tool's purpose and distinguishes it from sibling tools like run_sqlmap or run_nmap which target different resource types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for phone number investigation but provides no explicit guidance on when to use versus alternatives (e.g., run_sherlock for usernames, run_shodan for IPs). There is no mention of when not to use the tool or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_searchsploitB

Search the Exploit-DB archive for known exploits by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoOptional exploit type filter.
keywordYesService and version, e.g. 'vsftpd 2.3.4'.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully convey behavioral traits. It only states a simple search action, omitting details like output format, pagination, or potential limits. The description adds minimal behavioral information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence without any fluff. Every word is necessary and contributes to the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool and no output schema, the description is adequate but not comprehensive. It lacks details on return format or what constitutes a successful search, which could be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description's role is minimal. The description reiterates example usage ('vsftpd 2.3.4') already present in the schema, adding no new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (search), the resource (Exploit-DB archive), and the input (keywords for known exploits). It effectively distinguishes from sibling tools like run_exploit or run_nmap by specifying the database.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., run_exploit, run_nmap). The description does not include any context about prerequisites or situations where this tool is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_setoolkitC

Drive the Social-Engineer Toolkit for a scripted attack scenario.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget for the SE attack.
attack_typeNoSET menu selection.1

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose behavioral traits like potential destructiveness, interactive requirements, or network effects. The phrase 'scripted attack scenario' implies automation but is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence and avoids verbosity, but it is overly brief and lacks key details, making it less useful despite its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description fails to explain what happens after execution (e.g., output files, logs, success indicators). For a tool with two parameters and a potentially complex behavioral profile, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds no additional meaning. It does not clarify the format or purpose of 'target' (e.g., IP, domain) or the meaning of 'attack_type' options beyond the schema defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the Social-Engineer Toolkit but uses the vague verb 'Drive' and does not specify what action is performed (e.g., launch, configure). It partially distinguishes from siblings like run_nmap by mentioning 'scripted attack scenario' but lacks precision.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as run_exploit or run_sqlmap. No mention of prerequisites, scenarios, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_sherlockB

Hunt a username across social networks and public sites.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesUsername to search for.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must convey behavioral traits. It only states the action without disclosing how the search is performed (e.g., asynchronous, rate limits, network requirements), what the output looks like, or whether the tool is read-only or destructive. This lack of transparency hinders an agent's ability to anticipate behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 9-word sentence that immediately communicates the core action. It is efficiently structured with the verb first. While concise, it sacrifices completeness for brevity, which is acceptable for a simple tool but borderline under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema and no annotations, the description should provide more context about what happens after invocation, such as whether results are returned, how to interpret them, or any network dependencies. The current description is insufficient for an agent to fully understand the tool's complete behavior and output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with a clear description for 'username'. The tool description adds context that the username is searched across social networks and public sites, reinforcing the parameter's purpose. However, it does not add extra constraints or format details beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'hunt' and clearly identifies the resource 'username across social networks and public sites'. It effectively distinguishes itself from sibling tools like run_nmap or run_gobuster, which are focused on different tasks such as port scanning or directory enumeration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks any guidance on when to use this tool versus alternatives. It does not mention prerequisites, contexts where it is appropriate, or situations where another tool would be preferable. The agent is left to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_shodanB

Look up an internet-exposed host in Shodan (open ports, services, banners).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesIP address or hostname.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral transparency. It only states the lookup action but does not disclose whether it is read-only, requires authentication, has rate limits, or any side effects. The minimal description leaves the agent uninformed about important operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, perfectly front-loaded with the essential purpose. No redundant words; every part contributes to understanding. Given the tool's simplicity, this is optimal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with one parameter and no output schema, the description covers the basic functionality. However, it lacks details about return format, pagination, error handling, and any dependencies (e.g., network access). The absence of usage context relative to 28 sibling tools also reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter 'query' with description 'IP address or hostname'). The description adds a slight nuance by specifying 'internet-exposed host', which clarifies the scope of the query. However, it does not elaborate on input format, validation, or examples. At high coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('look up an internet-exposed host'), the target resource (Shodan), and the information returned (open ports, services, banners). It distinctly separates this tool from siblings like run_nmap (network scanning) or run_httpx (HTTP probing) by specifying Shodan as the data source.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not indicate when to prefer this tool over alternatives (e.g., run_shodan vs run_nmap for external recon), nor does it mention prerequisites (e.g., API key) or limitations (e.g., only works for publicly exposed hosts). The agent must infer context from the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_sqlmapC

Automated SQL injection detection and exploitation against a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
dbmsNoForce a DBMS backend.
riskNoRisk level 1-3.1
levelNoTest level 1-5.1
targetYesTarget URL with parameters.
techniqueNoInjection technique letters.B

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must convey behavioral traits. It mentions 'detection and exploitation' implying aggressive actions, but lacks details on safety, permissions, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded with key action. However, slightly under-specified for a complex tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex penetration testing tool like sqlmap, the description is too sparse. It omits risk of exploitation, return values, and operational context. Incomplete given no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% parameter description coverage, so description adds no additional parameter meaning beyond the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it detects and exploits SQL injection against a URL, which is specific and distinguishes from sibling tools like run_nmap or run_ffuf. However, it could elaborate more on the automation aspect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use or avoid this tool. It simply describes functionality without context of alternatives or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_subfinderB

Passively enumerate subdomains of a domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesApex domain.
silentNoSilent output.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The term 'passively' indicates a non-intrusive behavior, which is helpful. However, no annotations are provided, and the description lacks details on output format, dependencies, or potential limitations (e.g., API keys, network access).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, front-loaded with the key action. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters, the description is minimal. It omits important context like expected output, passive sources used, and whether internet access is required. Given the large number of sibling tools, more context would aid correct selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for both parameters ('domain' and 'silent'), achieving 100% coverage. The tool description does not add extra semantic value beyond what the schema offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'enumerate', the resource 'subdomains', and the scope 'of a domain', which is specific and distinguishes it from sibling tools like run_nmap or run_gobuster that perform active scanning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as run_ffuf or run_gobuster. The description does not mention prerequisites, limitations, or context for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_wafw00fA

Fingerprint the web application firewall / security solution in front of a target.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesURL or host to fingerprint.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It does not mention that the tool sends HTTP requests, may be blocked, or any consequences. This is insufficient for an agent to understand the tool's side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the essential purpose without any unnecessary words. It is perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema or annotations, the description is minimally adequate. However, it lacks details about output format, prerequisites, or limitations, leaving gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter with a description ('URL or host to fingerprint.'). The tool description adds no additional meaning beyond the schema, and schema coverage is 100%. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Fingerprint' and the resource 'web application firewall / security solution in front of a target', making the tool's purpose immediately understandable. It distinguishes from sibling tools like run_nmap or run_curl by specifying WAF fingerprinting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for identifying WAFs but provides no explicit when-to-use, when-not-to-use, or alternatives among sibling tools. The context of siblings (e.g., run_nmap, run_curl) suggests this is for after initial reconnaissance, but no guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_wgetC

Download a file or mirror content from a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to fetch.
outputNoOutput filename.
recursiveNoRecursive download.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only states the basic action, omitting details like redirect handling, timeouts, authentication, or error behavior. This is insufficient for an agent to anticipate side effects or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core purpose. It could be expanded to include additional behavioral context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (3 params, no output schema, no nested objects), the description is adequate for basic use. However, it does not elaborate on common use cases like website mirroring or recursive behavior, which are hinted at by the parameter schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear parameter descriptions (url, output, recursive). The tool description adds no additional semantic value beyond the schema, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('download' or 'mirror') and the resource ('file or content from a URL'). Among sibling tools, particularly 'run_curl' which also fetches URLs, the mention of mirroring helps differentiate wget's specific capability.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'run_curl'. For a download and mirroring tool, it would be helpful to indicate preferred use cases or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

write_fileA

Write content to a file, escalating to sudo if the path is protected.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentNoFile content.
filenameYesDestination path.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses sudo escalation for protected paths, which is valuable. However, it does not mention overwrite behavior, file creation, or error handling, leaving gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and contains only essential information. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given few parameters and no output schema, the description covers core purpose and a key behavior (sudo). However, it omits important details like whether the file is overwritten or appended, and what happens on failure, making it minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds context for the filename parameter (sudo escalation) but provides no additional semantics for the content parameter beyond the schema's 'File content.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'write content to a file' and clearly identifies the resource. It distinguishes from sibling tools like read_file (reading) and run_* (command execution) by core action. The mention of sudo escalation adds specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for writing files, but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or exclusions, relying on sibling names for differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 29 tool updatesv1.0.0
    • First observedread_file
    • First observedrun_cloudfox
    • First observedrun_command
    • First observedrun_curl
    • First observedrun_enum4linux
    • First observedrun_exploit
    • First observedrun_ffuf
    • First observedrun_gobuster
    • First observedrun_httpx
    • First observedrun_hydra
    • First observedrun_john
    • First observedrun_katana
    • First observedrun_masscan
    • First observedrun_medusa
    • First observedrun_ncrack
    • First observedrun_netstat
    • First observedrun_nikto
    • First observedrun_nmap
    • First observedrun_nuclei
    • First observedrun_phoneinfoga
    • First observedrun_searchsploit
    • First observedrun_setoolkit
    • First observedrun_sherlock
    • First observedrun_shodan
    • First observedrun_sqlmap
    • First observedrun_subfinder
    • First observedrun_wafw00f
    • First observedrun_wget
    • First observedwrite_file

TDQS

C2.9/5.0

Scored across 29 tools

Disambiguation4/5

Tools cover distinct security testing subdomains, but several have overlapping purposes (e.g., multiple brute-forcers and port scanners). Descriptions help differentiate them, reducing confusion.

Naming Consistency2/5

Most tools follow a 'run_<toolname>' pattern, but 'read_file' and 'write_file' break the convention, creating inconsistency.

Tool Count4/5

29 tools is on the high side for a penetration testing toolkit but remains within reasonable scope for comprehensive coverage.

Completeness3/5

Covers major security testing areas (scanning, brute-force, web, OSINT), but lacks post-exploitation and some common utilities like DNS enumeration, leaving notable gaps.

Maintenance

ActivitySlowing
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers