Getting Started

Get up and running with HorizonSec security tools in minutes

Quick Start

The fastest way to try HorizonSec is to run ARTEMIS (Static Code Analysis) on your project:

1

Install ARTEMIS CLI

# Using npm
npm install -g @horizonsec/artemis-cli

# Using pip
pip install horizonsec-artemis
2

Run a Security Scan

# Navigate to your project directory
cd your-project

# Run a comprehensive security scan
artemis scan .
3

View Results

# Generate a detailed report
artemis report

# Or view results in your browser
artemis report --web

What You'll See

πŸ” HorizonSec ARTEMIS Security Scanner
πŸ“ Scanning: ./src (JavaScript, TypeScript)
⏱️  Completed in 2.3s

πŸ“Š Results Summary:
   πŸ”΄ Critical: 0
   🟠 High: 2  
   🟑 Medium: 5
   πŸ”΅ Low: 12
   ℹ️  Info: 3

πŸ” Found 7 security issues requiring attention
πŸ“‹ View detailed report: artemis report --web

Prerequisites

πŸ“

Git

Version control for cloning repositories and managing your codebase

Version 2.0+
🟒

Node.js

For ARTEMIS and GAIA modules

Version 16+
🐍

Python

For DEMETER and HADES modules

Version 3.8+
🐳

Docker

Optional, for containerized deployments

Version 20.10+

Installation Options

πŸš€

CLI Installation

Recommended for getting started

Standalone command-line tools for each module. Perfect for local development and CI/CD integration.

ARTEMIS (Static Code Analysis)

npm install -g @horizonsec/artemis-cli pip install horizonsec-artemis

DEMETER (Infrastructure Scanning)

pip install horizonsec-demeter brew install horizonsec/tap/demeter

GAIA (Framework Orchestration)

npm install -g @horizonsec/gaia-cli docker pull horizonsec/gaia
🐳

Docker

Consistent environments

Containerized deployment for consistent environments across development, CI/CD, and production.

Quick Docker Usage

# Run ARTEMIS scan
docker run --rm -v $(pwd):/workspace horizonsec/artemis scan /workspace

# Run DEMETER infrastructure scan
docker run --rm -v ~/.aws:/root/.aws horizonsec/demeter scan --cloud aws

# Run full GAIA orchestration
docker run -d -p 8080:8080 horizonsec/gaia

Docker Compose

version: '3.8'
services:
  gaia:
    image: horizonsec/gaia:latest
    ports:
      - "8080:8080"
    environment:
      - HORIZONSEC_API_KEY=${API_KEY}
  artemis:
    image: horizonsec/artemis:latest
    volumes:
      - ./src:/workspace
    command: scan /workspace
βš™οΈ

CI/CD Integration

Native pipeline integration

Pre-built actions and configurations for popular CI/CD platforms.

GitHub Actions

- name: HorizonSec Security Scan
  uses: horizonsec/artemis-action@v1
  with:
    scan-path: './src'
    fail-on-high: true

GitLab CI

security_scan:
  image: horizonsec/artemis:latest
  script:
    - artemis scan ./src
  artifacts:
    reports:
      security: security-report.json

Jenkins

pipeline {
  agent any
  stages {
    stage('Security Scan') {
      steps {
        sh 'docker run --rm -v $PWD:/workspace horizonsec/artemis scan /workspace'
      }
    }
  }
}
πŸ“š

Library/SDK

Programmatic access

Import as libraries in your applications for custom integrations and programmatic access.

JavaScript/Node.js

const { Artemis } = require('@horizonsec/artemis');

const scanner = new Artemis({
  apiKey: process.env.HORIZONSEC_API_KEY
});

const results = await scanner.scan('./src');

Python

from horizonsec import Artemis

scanner = Artemis(api_key=os.getenv('HORIZONSEC_API_KEY'))
results = scanner.scan('./src')

Go

import "github.com/horizonsec/go-sdk/artemis"

client := artemis.NewClient(apiKey)
results, err := client.Scan("./src")

Configuration

Configuration File

Create a .horizonsec.yml file in your project root to customize behavior:

# .horizonsec.yml
version: 1

# Global settings
api_key: ${HORIZONSEC_API_KEY}
output_format: json
fail_on_high: true

# Module-specific configuration
artemis:
  languages: [javascript, typescript, python]
  exclude_paths:
    - node_modules/
    - .git/
    - dist/
  custom_rules:
    - rules/security-patterns.yml

demeter:
  cloud_providers: [aws, gcp]
  regions: [us-east-1, us-west-2]
  compliance_frameworks: [cis, soc2]

gaia:
  dashboard_port: 8080
  webhook_url: https://your-app.com/webhooks/security

Environment Variables

HORIZONSEC_API_KEY

Your HorizonSec API key (optional for CLI usage)

HORIZONSEC_CONFIG_PATH

Path to custom configuration file

HORIZONSEC_OUTPUT_FORMAT

Default output format: json, yaml, table

HORIZONSEC_DEBUG

Enable debug logging: true, false

Common Usage Examples

πŸ” Basic Security Scan

# Scan current directory
artemis scan .

# Scan specific path
artemis scan ./src

# Scan with specific language
artemis scan ./src --language javascript

🚫 Pre-commit Hook

# .git/hooks/pre-commit
#!/bin/bash
echo "Running security scan..."
artemis scan --staged-only --fail-fast

if [ $? -ne 0 ]; then
    echo "❌ Security issues found"
    exit 1
fi

☁️ Infrastructure Scan

# Scan Terraform files
demeter scan --type terraform ./infrastructure

# Scan live AWS resources
demeter scan --cloud aws --region us-east-1

# Scan Kubernetes manifests
demeter scan --type kubernetes ./k8s

πŸ“Š Custom Reporting

# Generate HTML report
artemis report --format html --output security-report.html

# Export to SARIF format
artemis report --format sarif --output results.sarif

# Send to webhook
artemis report --webhook https://your-app.com/security

Next Steps

Now that you have HorizonSec installed, here's what to explore next:

πŸ“–

Read the Documentation

Comprehensive guides, API references, and best practices for all HorizonSec modules.

View Docs
πŸ’¬

Join the Community

Connect with other builders, get support, and contribute to the project.

Join Community
⭐

Star on GitHub

Follow development progress, report issues, and contribute to the codebase.

GitHub
πŸ—ΊοΈ

View the Roadmap

See what's coming next and how you can help shape the future of HorizonSec.

View Roadmap

Need Help?

πŸ“– Documentation

Detailed guides and API references

Read Docs

πŸ’¬ Discord Community

Real-time help from the community

Join Discord

πŸ› GitHub Issues

Report bugs and request features

Open Issue

❓ FAQ

Common questions and answers

View FAQ