NullSec-RedTeam-AI
NullSec-RedTeam-AI
인가 우선, MCP 기반으로 명시적으로 승인된 환경에서만 보안 작업을 실행합니다.
NullSec-RedTeam-AI는 규제된 보안 도구 워크플로를 위한 단일 호스트 제어 평면입니다. 작업자가 작업을 실행하기 전에 캠페인의 승인된 범위, 행위자 컨텍스트, 정책 결정, 지속 가능한 작업 수명 주기, 감사 추적 및 증거 참조를 기록합니다. 기본 자세는 **샌드박스 필수 및 실패-폐쇄(fail-closed)**입니다. 필수 샌드박스는 호스트 실행으로 저하되지 않습니다.
명시적인 서면 승인이 있는 경우에만 사용하십시오. 이 프로젝트는 초기 단계의 보안 소프트웨어이며, 자율 레드팀 시스템, 계약서 대체, 또는 다중 테넌트 서비스가 아닙니다. 격리된 테스트 환경이나 평가 권한이 명시적으로 부여된 자산에서만 실행하십시오.
NullSec의 필요성
원칙 | 실제 의미 |
실행 전 인가 | 모든 작업은 캠페인, 호출자 신원, 대상 범위, 기능 계층, 시간 창, 정책 결정, 멱등성 키, 추적 식별자를 기준으로 평가됩니다. |
실패 시 폐쇄되는 격리 | 샌드박스가 필요한 작업은 변경 불가능한 이미지, 사용 가능한 컨테이너 런타임, 최소 권한 구성, 제한된 작업 공간이 필요합니다. 누락된 제어는 로컬에서 실행하는 대신 작업을 실패시킵니다. |
감사 가능한 운영 | SQLite 기반 작업은 수명 주기 이벤트, 임대, 취소 상태, 행위자 및 캠페인 연결, 정책 컨텍스트, 증거 메타데이터를 유지합니다. |
제한된 AI 협업 | AURA는 계획, 정책 검토, 실행 권한, 증거 검토를 분리합니다. 플래너가 직접 러너를 호출할 수 없습니다. |
진실된 AI 보안 테스트 | AI 보안 연구소는 시뮬레이션 출력을 |
Related MCP server: EasyHunt-AI
아키텍처 개요
사용자 또는 MCP 클라이언트는 인증 및 호출자 컨텍스트 구성 후에만 전송 계층에 도달합니다. 캠페인 정책 엔진은 유형화된 요청이 범위 내에 있는지 결정합니다. 내구성 있는 작업 저장소는 임대 및 감사 이벤트를 조정합니다. 임대 인식 작업자는 최소 권한 샌드박스 실행을 요청할 수 있습니다. AURA는 실행 경계 위에 있으며, 별도의 증거 검토 단계가 있습니다.
소스 제어된 Mermaid 다이어그램은 docs/assets/control-plane-architecture.mmd에서 확인할 수 있습니다. 아키텍처 근거는 ADR-001에서 읽을 수 있습니다.
안전한 로컬 개발을 위한 빠른 시작
개발 워크플로는 모의(mock) 및 시뮬레이션된 픽스처를 사용합니다. 보안 도구를 설치, 다운로드 또는 실행하지 않습니다.
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 .로컬 API 개발 작업을 위해 프로젝트 로컬 상태, 프로덕션이 아닌 토큰, 루프백 바인딩만 사용하십시오.
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서비스는 NULLSEC_ALLOW_NON_LOOPBACK=true가 명시적으로 설정되지 않는 한 비루프백 바인딩을 거부합니다. 이 설정을 인증된 역방향 프록시와 승인된 네트워크 정책이 필요한 배포 변경으로 취급하십시오.
안전한 캠페인 흐름
캠페인은 인가 및 범위를 기록합니다. 다음 루프백 전용 예제는 캠페인 레코드를 생성합니다. 도구를 실행하지 않습니다.
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"
}'작업 제출에는 해당 캠페인, 지원되는 기능 계층, 멱등성 키가 필요합니다. 기본 sandbox_required 모드에서 작업은 대기열에 안전하게 추가되지만, 운영자가 검토된 변경 불가능 이미지와 루트리스 러너 구성을 제공하지 않으면 실행 시 실패-폐쇄됩니다.
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"
}'베어러 토큰을 셸 히스토리, 소스 제어, 스크린샷, CI 로그에 절대 두지 마십시오.
AI 보안 연구소
AI 보안 연구소는 시뮬레이션과 실제 제공자 평가를 구분합니다. 기본 출력은 mode: simulation 및 status: not_evaluated입니다. 모델이 취약하거나, 저항력이 있거나, 점수가 매겨졌다고 주장하지 않습니다. 조직이 동의된 어댑터, 버전 관리된 데이터 세트, 보호된 자격 증명, 증거 저장소, 점수 매기기 방법을 제공할 때까지 제공자 평가는 사용할 수 없습니다.
ai-lab --list
ai-lab --model consented-test-model --technique PROMPT_INJECTION --mode simulation프로젝트는 의도적으로 우회 페이로드를 생성하지 않습니다. 제공자 기반 평가는 격리된 환경에서 검토된 버전 관리 데이터 세트를 사용해야 합니다.
품질 게이트
모든 기여는 릴리스 전에 테스트, 코드 품질, 보안, 패키징, 검토 기대치를 충족해야 합니다.

공개 워크플로는 초점을 맞춘 적용 범위의 테스트, Ruff 린팅, 초점을 맞춘 타입 검사, 정적 보안 분석, 종속성 감사, PEP 517 패키지 빌드를 포함합니다. 품질 게이트 다이어그램 소스는 docs/assets/quality-gates.mmd입니다.
프로젝트 상태 및 로드맵
영역 | 현재 상태 | 다음 주요 이정표 |
ID | 로컬 단일 호스트 행위자 어댑터 | 배포별 OAuth/OIDC 또는 동등한 ID 어댑터 |
정책 | 캠페인 범위, 기능, 시간 창, 대상 검사 | 지속적인 정책 저장소 및 승인 워크플로 |
실행 | 실패-폐쇄 샌드박스 프로필을 가진 로컬 임대 인식 작업자 | 검토된 루트리스 런타임 프로필 및 서명된 변경 불가능 러너 이미지 |
AURA | 유형화되고 제한된 워크플로 상태 머신 | 지속된 세션, 내구성 있는 증거 링크, 정책 기반 제공자 어댑터 |
증거 | 작업 감사 이벤트 및 증거 참조 | 보존 및 무결성 제어를 갖춘 관리형 증거 저장소 |
유지 관리되는 구현 순서는 ROADMAP.md에서, 7.1 현대화 기록은 IMPLEMENTATION_SUMMARY.md에서 확인하십시오.
문서
문서 | 용도 |
인가, 격리, 운영자 책임 | |
비공개 취약점 보고 및 응답 프로세스 | |
개발 설정, 검토 기준, 안전한 어댑터 요구 사항 | |
커뮤니티 참여 기준 | |
단일 호스트 배포 및 롤백 워크플로 | |
루트리스 러너, 이미지, 격리 검토 | |
증거 출처, 보존, 사고 보존 | |
버전별 변경 사항 및 릴리스 노트 |
기여
기여는 인가 우선 자세를 유지해야 합니다. 새로운 통합에는 유형화된 요청 모델, 위험 계층, 기능 범위, 안전한 실행 프로필, 결정론적 테스트, 증거 파서 또는 문서화된 제한 사항이 필요합니다. 임의의 셸 실행, 무제한 옵션 문자열, 라이브 대상 테스트, 자격 증명, 대상 인벤토리, 생성된 스캔 아티팩트를 추가하지 마십시오.
광범위한 변경 전에 설계 이슈를 열거나 아키텍처 결정 레코드를 제안하십시오. 먼저 CONTRIBUTING.md를 검토하고, 취약점 보고는 공개 이슈 대신 SECURITY.md를 사용하십시오.
라이선스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 라이선스는 시스템 평가 권한을 부여하지 않습니다. 운영자는 해당 법률, 계약, 조직 정책, 서면 승인 및 윤리적 고려 사항에 대한 책임을 계속 집니다.
Available Tools
6 toolsdiagnose_issueB
Diagnose a specific error and suggest fixes.
| Name | Required | Description | Default |
|---|---|---|---|
| error_message | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target IP, hostname, or URL | |
| options | No | Additional command-line options | |
| tool_name | Yes | Tool to run (nmap, sqlmap, gobuster, hydra, nuclei, ffuf, nikto, dirsearch) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | IP or hostname to scan | |
| scan_type | No | quick, full, or stealth | quick |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
6 tool updates
v7.1.0- First observed
diagnose_issue - First observed
get_job_status - First observed
get_system_status - First observed
list_available_tools - First observed
run_security_tool - First observed
scan_target
TDQS
Scored across 6 tools
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.
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.
With 6 tools, the set is well-scoped for a red team AI server, covering core operations without being overly large or trivial.
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
Related MCP Connectors
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA 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
- AlicenseBqualityAmaintenanceMCP 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.127MIT
- AlicenseBqualityBmaintenanceA 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.27MIT
- AlicenseNot gradedqualityBmaintenanceAn 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 npmMIT