Skip to content

Latest commit

 

History

History
421 lines (329 loc) · 9.3 KB

File metadata and controls

421 lines (329 loc) · 9.3 KB
layout docs
title XARF Tools
description Free tools and utilities for working with XARF reports
permalink /tools/

XARF Tools

Free, open-source tools to help you create, validate, and process XARF reports.


Online Tools

Use these browser-based tools without installing anything.

Schema Validator Beta

Validate XARF reports against JSON schemas to ensure compliance with the specification.

Real-time validation Detailed error messages All event types
Open Validator

Command-Line Tools

For integration into automated workflows and scripts.

XARF Validator CLI

Status: Coming Soon

Validate XARF reports from the command line:

# Install (coming soon)
npm install -g xarf-validator

# Validate a report
xarf-validator report.json

# Validate multiple reports
xarf-validator reports/*.json

# Validate with strict mode
xarf-validator --strict report.json

Planned Features:

  • Batch validation
  • Custom schema paths
  • JSON/text output formats
  • Exit codes for CI/CD integration

Development: Coming soon - watch GitHub for announcements


IDE Extensions

Bring XARF support to your development environment.

VS Code Extension

XARF Language Support for Visual Studio Code In Development

Planned Features:

  • Syntax highlighting for XARF JSON
  • Schema validation as you type
  • Autocomplete for field names
  • Hover documentation
  • Snippets for common reports

Development: Coming soon - watch GitHub for announcements

JetBrains Plugin

XARF Support for IntelliJ IDEA, PyCharm, WebStorm Planned

Planned Features:

  • JSON schema integration
  • Code completion
  • Quick documentation
  • Live templates

Development: Express interest on GitHub Discussions


Libraries

Programmatic XARF support in your language of choice.


API Services

Cloud-based XARF processing and validation.

Validation API

Status: API Launching Soon

Validate reports via REST API:

# API endpoint coming soon
curl -X POST https://api.xarf.org/v1/validate \
  -H "Content-Type: application/json" \
  -d @report.json

Response:

{
  "valid": true,
  "version": "4.0.0",
  "category": "connection",
  "type": "ddos"
}

Development: API documentation will be available at launch


GitHub Actions

Integrate XARF validation into your CI/CD pipelines.

XARF Validation Action

Status: In Development

name: Validate XARF Reports
on: [push, pull_request]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: xarf/validate-action@v1  # Coming soon
        with:
          reports: 'reports/**/*.json'
          strict: true

Development: Coming soon - watch GitHub for announcements


Docker Images

Status: Planned for Future Release

Pre-configured containers for XARF processing.

Validator Container

# Coming soon
docker run --rm -v $(pwd):/reports xarf/validator:latest /reports/*.json

Development: Docker images will be published as tools are released


Community Tools

Tools created by the XARF community:

XARF Dashboard

Web-based dashboard for visualizing XARF reports

by @security-researcher GitHub

XARF Elasticsearch Integration

Import and analyze XARF reports in Elasticsearch

by @data-analyst GitHub

XARF Slack Bot

Receive and validate XARF reports in Slack

by @devops-engineer GitHub

Want to add your tool? Submit to the community tools list →


Need Help?

<style> .tools-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin: 3rem 0; } .tool-card { background: var(--color-background-alt); border: 1px solid var(--color-border); border-radius: 12px; padding: 2rem; text-align: center; transition: all var(--transition-fast); } .tool-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--color-primary); } .tool-icon { width: 64px; height: 64px; margin: 0 auto 1.5rem; padding: 1rem; background: var(--color-primary-light); border-radius: 12px; color: var(--color-primary); } .tool-icon svg { width: 100%; height: 100%; stroke-width: 2; } .tool-card h3 { margin: 0 0 0.75rem 0; color: var(--color-text); } .tool-card p { color: var(--color-text-light); font-size: 0.875rem; margin-bottom: 1rem; } .tool-features { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin-bottom: 1.5rem; } .feature-tag { font-size: 0.75rem; padding: 0.25rem 0.75rem; background: var(--color-background); border: 1px solid var(--color-border); border-radius: 12px; color: var(--color-text-light); } .language-quick-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; margin: 2rem 0; } .language-link { display: flex; flex-direction: column; padding: 1.5rem; background: var(--color-background-alt); border: 1px solid var(--color-border); border-radius: 8px; text-decoration: none; transition: all var(--transition-fast); position: relative; } .language-link:hover { border-color: var(--color-primary); transform: translateY(-2px); } .language-link strong { color: var(--color-text); margin-bottom: 0.5rem; } .language-link span { font-size: 0.875rem; color: var(--color-text-light); font-family: var(--font-family-mono); } .coming-soon-badge { position: absolute; top: 0.5rem; right: 0.5rem; padding: 0.25rem 0.5rem; background: var(--color-warning); color: white; font-size: 0.625rem; font-weight: 600; border-radius: 4px; text-transform: uppercase; font-family: var(--font-family-sans); } .alpha-badge { position: absolute; top: 0.5rem; right: 0.5rem; padding: 0.25rem 0.5rem; background: var(--color-success); color: white; font-size: 0.625rem; font-weight: 600; border-radius: 4px; text-transform: uppercase; font-family: var(--font-family-sans); } .community-tools { display: grid; gap: 1.5rem; margin: 2rem 0; } .community-tool { padding: 1.5rem; background: var(--color-background-alt); border: 1px solid var(--color-border); border-radius: 8px; } .community-tool h4 { margin: 0 0 0.5rem 0; color: var(--color-text); } .community-tool p { color: var(--color-text-light); margin: 0.5rem 0; } .tool-author { font-size: 0.875rem; color: var(--color-text-lighter); font-style: italic; } .community-tool a { display: inline-block; margin-top: 0.75rem; color: var(--color-primary); text-decoration: none; } .community-tool a:hover { text-decoration: underline; } </style>