Skip to main content
Glama

NullSec-RedTeam-AI

CI License: MIT Python 3.10+ Status: Beta

Autorisierung zuerst, MCP-gesteuerte Sicherheitsausführung für ausdrücklich genehmigte Umgebungen.

NullSec-RedTeam-AI ist eine Single-Host-Steuerungsebene für gesteuerte Sicherheitswerkzeug-Abläufe. Sie erfasst den genehmigten Umfang einer Kampagne, den Akteurskontext, die Richtlinienentscheidung, den dauerhaften Job-Lebenszyklus, den Prüfpfad und den Evidenzverweis, bevor ein Worker einen Job ausführen darf. Die Standardhaltung ist Sandbox erforderlich und Fail-Closed: Eine erforderliche Sandbox wird niemals auf Host-Ausführung herabgestuft.

Nur mit ausdrücklicher schriftlicher Genehmigung verwenden. Dieses Projekt ist frühe Sicherheitssoftware, kein autonomes Red-Team-System, kein Ersatz für einen Einsatzvertrag und kein Multi-Tenant-Dienst. Führen Sie es in isolierten Testumgebungen oder auf Ressourcen aus, die Sie ausdrücklich bewerten dürfen.

Warum NullSec?

Prinzip

Was es in der Praxis bedeutet

Autorisierung vor Ausführung

Jeder Job wird gegen eine Kampagne, Aufruferidentität, Zielbereich, Kompetenzstufe, Zeitfenster, Richtlinienentscheidung, Idempotenzschlüssel und Trace-Kennung ausgewertet.

Containment, das fail-closed ist

Sandbox-erforderliche Arbeit benötigt ein unveränderbares Image, eine verfügbare Container-Laufzeitumgebung, Least-Privilege-Konfiguration und einen begrenzten Arbeitsbereich. Fehlende Kontrollen führen zum Fehlschlagen des Jobs anstatt zur lokalen Ausführung.

Prüfbare Operationen

SQLite-gestützte Jobs speichern Lebenszyklus-Ereignisse, Leases, Abbruchstatus, Akteurs- und Kampagnenverknüpfung, Richtlinienkontext und Evidenz-Metadaten.

Begrenzte KI-Zusammenarbeit

AURA trennt Planung, Richtlinienprüfung, Ausführungserlaubnis und Evidenzprüfung. Ein Planer kann keinen Runner direkt aufrufen.

Wahrheitsgetreues KI-Sicherheitstesten

Das KI-Sicherheitslabor kennzeichnet Simulationsausgaben als not_evaluated; es stellt synthetische Ausgaben nicht als Anbieter-Finding dar.

Related MCP server: EasyHunt-AI

Architektur auf einen Blick

Ein Benutzer oder MCP-Client erreicht die Transportschicht erst nach Authentifizierung und Konstruktion des Aufruferkontexts. Die Kampagnen-Richtlinien-Engine entscheidet, ob eine typisierte Anfrage im Rahmen ist. Der dauerhafte Job-Speicher koordiniert Leases und Prüfereignisse; ein lease-fähiger Worker kann dann eine Least-Privilege-Sandbox-Ausführung anfordern. AURA bleibt oberhalb der Ausführungsgrenze, mit einer separaten Evidenzprüfungsstufe.

Das quellgesteuerte Mermaid-Diagramm befindet sich unter docs/assets/control-plane-architecture.mmd. Lesen Sie die Architekturbegründung in ADR-001.

Schnellstart für sichere lokale Entwicklung

Der Entwicklungsworkflow verwendet Mocks und simulierte Fixtures; er installiert, lädt oder führt keine Sicherheitswerkzeuge aus.

git clone https://github.com/Panda1847/NullSec-RedTeam-AI.git
cd NullSec-RedTeam-AI
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e '.[dev]'

pytest
ruff check .

Verwenden Sie für lokale API-Entwicklungsarbeit den projektlokalen Zustand, einen Nicht-Produktions-Token und nur Loopback-Bindung.

mkdir -p .nullsec/logs .nullsec/jobs
export NULLSEC_LOG_DIR="$PWD/.nullsec/logs"
export NULLSEC_JOB_DIR="$PWD/.nullsec/jobs"
export API_TOKEN="local-development-token"
export NULLSEC_LOCAL_ACTOR_ID="local-operator"
export NULLSEC_LOCAL_ACTOR_ROLES="operator"

hexstrike-server --host 127.0.0.1 --port 8888

Der Dienst lehnt Nicht-Loopback-Bindung ab, es sei denn, NULLSEC_ALLOW_NON_LOOPBACK=true ist explizit gesetzt. Behandeln Sie diese Einstellung als eine Bereitstellungsänderung, die einen authentifizierten Reverse-Proxy und eine genehmigte Netzwerkrichtlinie erfordert.

Sicherer Kampagnen-Ablauf

Eine Kampagne erfasst Autorisierung und Umfang. Das folgende Loopback-only-Beispiel erstellt einen Kampagnendatensatz; es führt kein Werkzeug aus.

curl --request POST http://127.0.0.1:8888/api/campaigns \
  --header "Authorization: Bearer $API_TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{
    "campaign_id": "local-demo-001",
    "allowed_targets": ["127.0.0.0/8"],
    "allowed_capabilities": ["passive"],
    "starts_at": "2026-08-18T09:00:00+00:00",
    "ends_at": "2026-08-18T17:00:00+00:00"
  }'

Die Job-Einreichung erfordert diese Kampagne, eine unterstützte Kompetenzstufe und einen Idempotenzschlüssel. Mit dem Standardmodus sandbox_required bleibt ein Job sicher in der Warteschlange, schlägt aber bei der Ausführung fail-closed, es sei denn, ein Operator hat ein geprüftes unveränderbares Image und eine rootless Runner-Konfiguration bereitgestellt.

curl --request POST http://127.0.0.1:8888/api/tools/execute \
  --header "Authorization: Bearer $API_TOKEN" \
  --header 'Content-Type: application/json' \
  --header 'X-Trace-Id: local-demo-trace-001' \
  --data '{
    "tool": "nmap",
    "target": "127.0.0.1",
    "options": "-sV",
    "campaign_id": "local-demo-001",
    "capability": "passive",
    "idempotency_key": "local-demo-request-001"
  }'

Platzieren Sie keine Bearer-Token in der Shell-Historie, Quellcodeverwaltung, Screenshots oder CI-Protokollen.

KI-Sicherheitslabor

Das KI-Sicherheitslabor unterscheidet eine Simulation von einer tatsächlichen Anbieterbewertung. Seine Standardausgabe hat den Modus mode: simulation und den Status status: not_evaluated; es behauptet nicht, dass ein Modell verwundbar, widerstandsfähig oder bewertet ist. Die Anbieterbewertung bleibt nicht verfügbar, bis eine Organisation einen zugestimmten Adapter, einen versionierten Datensatz, geschützte Anmeldeinformationen, Evidenzspeicher und eine Bewertungsmethode bereitstellt.

ai-lab --list
ai-lab --model consented-test-model --technique PROMPT_INJECTION --mode simulation

Das Projekt erzeugt bewusst keine Bypass-Payloads. Jede anbieterbasierte Bewertung sollte einen geprüften, versionierten Datensatz in einer isolierten Umgebung verwenden.

Qualitätstore

Jeder Beitrag sollte vor der Veröffentlichung Erwartungen an Tests, Codequalität, Sicherheit, Paketierung und Überprüfung erfüllen.

Qualitätstore für Beiträge und Veröffentlichungen

Der öffentliche Workflow umfasst Tests mit fokussierter Abdeckung, Ruff-Linting, fokussierte Typüberprüfung, statische Sicherheitsanalyse, Abhängigkeitsprüfung und PEP-517-Paketerstellung. Die Quelle des Qualitätstor-Diagramms ist docs/assets/quality-gates.mmd.

Projektstatus und Fahrplan

Bereich

Aktueller Zustand

Nächster bedeutender Meilenstein

Identität

Lokaler Single-Host-Akteursadapter

Bereitstellungsspezifischer OAuth/OIDC oder gleichwertiger Identitätsadapter

Richtlinie

Kampagnenumfang, Fähigkeit, Fenster- und Zielprüfungen

Dauerhaftes Richtlinien-Repository und Genehmigungsworkflow

Ausführung

Lokaler lease-fähiger Worker mit Fail-Closed-Sandbox-Profil

Geprüftes rootless Laufzeitprofil und signiertes unveränderbares Runner-Image

AURA

Typisierte, begrenzte Workflow-Zustandsmaschine

Dauerhafte Sitzungen, dauerhafte Evidenzverweise und richtliniengesteuerte Anbieteradapter

Evidenz

Job-Prüfereignisse und Evidenzverweise

Verwalteter Evidenzspeicher mit Aufbewahrungs- und Integritätskontrollen

Siehe ROADMAP.md für die gepflegte Implementierungssequenz und IMPLEMENTATION_SUMMARY.md für den Modernisierungsdatensatz 7.1.

Dokumentation

Dokument

Verwenden Sie es für

RESPONSIBLE_USE.md

Autorisierung, Containment und Betreiberverantwortlichkeiten

SECURITY.md

Privates Schwachstellenmelde- und Antwortverfahren

CONTRIBUTING.md

Entwicklungseinrichtung, Überprüfungsstandards und sichere Adapteranforderungen

CODE_OF_CONDUCT.md

Standards für die Gemeinschaftsteilnahme

docs/runbooks/deployment.md

Single-Host-Bereitstellungs- und Rollback-Workflow

docs/runbooks/runner-hardening.md

Rootless Runner, Image und Containment-Überprüfung

docs/runbooks/evidence-retention.md

Evidenzherkunft, Aufbewahrung und Vorfallsicherung

CHANGELOG.md

Versionierte Änderungen und Versionshinweise

Mitwirken

Beiträge müssen die Autorisierung-zuerst-Haltung bewahren. Neue Integrationen benötigen ein typisiertes Anfragemodell, Risikostufe, Fähigkeitsbereich, sicheres Ausführungsprofil, deterministische Tests und einen Evidenzparser oder dokumentierte Einschränkung. Fügen Sie keine willkürliche Shell-Ausführung, unbegrenzte Optionszeichenfolgen, Live-Zieltests, Anmeldeinformationen, Zielinventare oder generierte Scan-Artefakte hinzu.

Eröffnen Sie ein Design-Issue oder schlagen Sie einen Architekturentscheidungsdatensatz vor größeren Änderungen vor. Überprüfen Sie zuerst CONTRIBUTING.md und verwenden Sie SECURITY.md anstelle öffentlicher Issues für Schwachstellenmeldungen.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Die Lizenz gewährt keine Autorisierung zur Bewertung eines Systems. Die Betreiber bleiben verantwortlich für geltendes Recht, Verträge, Unternehmensrichtlinien, schriftliche Autorisierung und Einsatzgenehmigung.

Available Tools

6 tools
diagnose_issueB

Diagnose a specific error and suggest fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
error_messageYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

The description implies a safe, read-like behavior (suggesting fixes, not mutating state), but with no annotations provided, it bears the full burden of disclosure. It does not mention whether the tool has side effects, requires specific permissions, or has rate limits. The lack of explicit behavioral detail is a gap, but it does not contradict any annotations since none exist.

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 with 6 words, which is concise but arguably underspecified. It lacks structure to highlight key details like the tool's scope or output. While brevity is valued, the sentence could be expanded to include context such as what kind of errors it handles or what the output contains, without becoming verbose.

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?

The tool has one parameter and an output schema, reducing the need for extensive description of returns. However, given its complexity (diagnosis and fix suggestions), the description does not cover what the response includes (e.g., severity, steps, references) or how error messages should be formatted. The presence of an output schema helps, but the description could be more complete for an agent to use it effectively.

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 single required parameter 'error_message' has no schema description coverage (0%), so the description must compensate. The description states it diagnoses a specific error, which implies the parameter is an error message string. This adds some meaning beyond the schema, but it is vague—it does not clarify the expected format, length, or source of the error message. For a single parameter, this is acceptable but not exemplary.

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's purpose: diagnosing a specific error and suggesting fixes. The action verb 'diagnose' combined with the resource 'specific error' makes the function clear. However, it does not differentiate itself from siblings like 'scan_target' or 'run_security_tool', which could also analyze errors, missing a chance to clarify its unique role.

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. Given siblings like 'scan_target' and 'run_security_tool', an agent would benefit from understanding that this tool is for troubleshooting a known error message, not for security scanning or status checks. The absence of such context reduces its utility for proper tool selection.

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

get_job_statusC

Check status of a previously queued job.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It doesn't mention whether the tool is destructive (it's not, but this is unstated), whether it blocks/polls, what the output format is (though output schema exists), or any rate limits or authentication needs. The simple description is incomplete for an agent to understand operational 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, front-loaded sentence with no filler. It efficiently communicates the core purpose. A score of 5 would require even tighter wording or additional value, but 4 is appropriate for 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?

Given this is a low-complexity tool (1 param, has output schema), the description is incomplete. The output schema exists but the description doesn't clarify what statuses to expect or how to interpret them (e.g., pending, completed, failed). An agent needs more context to effectively parse the result. The description lacks completeness for a useful tool 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 0%, meaning the description must compensate. However, with only one parameter (job_id), the description implies the job_id is the identifier for the queued job, which adds minimal semantic value beyond the schema. The baseline is 3 given low coverage, but the description doesn't explain the format or constraints of job_id (e.g., required length, prefix).

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 verb ('Check status') and resource ('a previously queued job'). It distinguishes itself from siblings by focusing on job status, not system status, scanning, or diagnostics. A score of 5 would require explicit comparison to siblings or mention of what makes this unique, but 4 is strong.

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 vs alternatives. It doesn't specify prerequisites (e.g., that a job must have been queued first via another tool) or mention when not to use it. With siblings like 'run_security_tool' and 'diagnose_issue', an agent would benefit from knowing this tool is for polling asynchronous operations.

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

get_system_statusB

Check health of all NullSec components.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/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 responsibility for behavioral disclosure. The description implies a read-only health check but does not state that explicitly, nor does it mention whether the tool has side effects, requires authentication, or has rate limits. The lack of clarity on behavior is a significant gap for a tool with no annotations.

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—short and to the point. It conveys the core purpose without fluff. No wasted words, though it could be slightly more structured (e.g., adding a period at the end or front-loading the intent better).

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 tool has zero parameters but an output schema exists, the description is adequate but not rich. It doesn't hint at the output shape or how to interpret the health status, leaving an agent to infer behavior from the output schema alone. For a simple health check with no inputs, the description is minimally viable but could be more helpful by explaining what 'health' entails.

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

Parameters4/5

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

The tool has zero parameters, and the description provides complete clarity about the lack of inputs. There are no schema descriptions needed beyond what is already 100% covered by the parameter count. The description suffices for the input semantics.

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 purpose is to 'Check health of all NullSec components', specifying a concrete verb ('check') and resource ('health of all NullSec components'). It differentiates from siblings like 'diagnose_issue' which implies a narrower scope, and 'run_security_tool' which is more action-oriented. A slight deduction for not being more specific about what 'health' means (e.g., uptime, latency).

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 offers no guidance on when to use this tool versus alternatives like 'diagnose_issue' or 'scan_target'. For example, it doesn't explain whether this is a quick status check vs. a deep diagnostic. There are no prerequisites, context for appropriate use cases, or exclusions mentioned.

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

list_available_toolsA

List all available security tools with descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/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 only states 'list all available security tools with descriptions,' omitting crucial details such as whether the operation is read-only, if pagination applies, or any authorization requirements. The agent cannot infer safety or side-effect profile from this minimal text.

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 of five words that immediately communicates the tool's core action. No wasted words; every part is essential.

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 has zero parameters and an output schema (not shown), the description is mostly complete for a simple listing tool. It could benefit from mentioning the output format (e.g., an array of tool names and descriptions) to reduce uncertainty, but the current text is sufficient for basic understanding.

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

Parameters4/5

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

The input schema has zero parameters and 100% schema coverage, so the baseline is 4. The description adds value by clarifying the purpose beyond the empty schema, but no parameter-level detail is needed.

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 'List' and the resource 'security tools with descriptions,' making the tool's purpose immediately obvious. It distinguishes itself from sibling tools like run_security_tool and get_job_status by focusing on listing rather than execution or status checks.

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. For example, it doesn't suggest using this tool before run_security_tool to discover available options, nor does it indicate when not to use it. The description lacks contextual cues for appropriate use.

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

run_security_toolC

Execute a security tool via the HexStrike orchestration server.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget IP, hostname, or URL
optionsNoAdditional command-line options
tool_nameYesTool to run (nmap, sqlmap, gobuster, hydra, nuclei, ffuf, nikto, dirsearch)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full responsibility for disclosure. It fails to mention whether execution is synchronous or asynchronous, what authentication or permissions are required, or any side effects (e.g., network scanning may be destructive). The single sentence lacks essential behavioral context for a tool that orchestrates external security tools.

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 states the tool's purpose. No unnecessary words are present, but the conciseness comes at the cost of missing critical detail. It earns a high score for structure but not for 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?

Despite having an output schema and sibling tools like 'get_job_status' (implying potential asynchronous behavior), the description omits any context about how results are returned, whether execution is blocking, or how errors are reported. The tool's role in an orchestration workflow is undefined, leaving a significant gap in understanding 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 coverage is 100%, so each parameter is already documented with a description in the input schema. The tool description does not add additional meaning beyond what the schema provides. Given the baseline for high schema coverage is 3, and the description adds no new parameter insights, this score 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 verb 'Execute' and the resource 'a security tool via the HexStrike orchestration server', making the primary action and context unambiguous. However, it does not distinguish this tool from sibling tools like 'scan_target' or 'list_available_tools', which could have overlapping functionality.

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 'scan_target' or 'list_available_tools'. The description does not mention prerequisites, exclusions, or the appropriate context for invocation, leaving the agent to infer usage solely from the tool name and parameter list.

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

scan_targetC

Run a comprehensive security scan on a target.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesIP or hostname to scan
scan_typeNoquick, full, or stealthquick

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/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 responsibility. It does not disclose whether the scan is read-only, destructive, or requires special permissions. It omits potential side effects (e.g., network load, detection) and does not explain what happens after the scan (e.g., are results stored?). The presence of a sibling 'get_job_status' hints at asynchronous behavior, but the description is silent on this.

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 immediately conveys the action and resource. It is efficient with no wasted words, 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?

Given the tool's simplicity and the presence of an output schema, the description is reasonably complete for basic understanding. However, it fails to address the asynchronous nature (inferred from sibling 'get_job_status'), the difference between scan types, or how results are retrieved. The missing context leaves the agent uncertain how to handle the tool's lifecycle.

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 both parameters already documented in the input schema (target as 'IP or hostname', scan_type as 'quick, full, or stealth'). The description adds only the generic word 'comprehensive', which does not enhance understanding of parameter meaning or constraints. It provides no additional semantics beyond 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 the tool runs a 'comprehensive security scan' on a target, which is a specific action with a defined resource. However, it does not differentiate this tool from the sibling 'run_security_tool', which may have overlapping functionality. A higher score would require explicit distinction.

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_security_tool' or 'diagnose_issue'. There is no mention of prerequisites, typical scenarios, or exclusions. The description only says what it does, not when or why to choose it.

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. 6 tool updatesv7.1.0
    • First observeddiagnose_issue
    • First observedget_job_status
    • First observedget_system_status
    • First observedlist_available_tools
    • First observedrun_security_tool
    • First observedscan_target

TDQS

B3.4/5.0

Scored across 6 tools

Disambiguation4/5

Most tools are clearly distinct, but run_security_tool and scan_target have overlapping purposes—both involve executing security operations—though descriptions clarify that the former is for arbitrary tools and the latter for a predefined comprehensive scan.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., run_security_tool, get_job_status), with no mixing of conventions or inconsistent verb styles.

Tool Count5/5

With 6 tools, the set is well-scoped for a red team AI server, covering core operations without being overly large or trivial.

Completeness3/5

The tool set covers basic actions like running tools and scanning, but lacks critical lifecycle operations such as canceling jobs, retrieving full results, or managing targets, leaving notable gaps for a complete red team workflow.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A secure tool-execution plane for agentic AI that enforces JWT authentication, rate limiting, prompt-injection inspection, and audit logging, while ingesting downstream OpenAPI endpoints as MCP tools.
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    MCP server for AI-driven VAPT orchestration, enabling agents to plan and execute authorized security scans through a control plane that enforces scope, sanitization, budget, rate limits, human approval, and audit logging.
    127
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    A security-first MCP gateway that enables AI assistants to safely inspect and interact with GitHub repositories through a controlled, auditable tool layer with policy enforcement and human approval for mutations.
    27
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An identity-aware authorization layer for AI agents that enforces OAuth scopes, contextual policies, and human approval workflows before executing sensitive actions. It provides controlled execution and audit trails for MCP tools.
    50,844 npm
    MIT