AppCheck

AppCheck

Category: DAST
License: Commercial

AppCheck is a dynamic application security testing (DAST) platform originating from the United Kingdom.

Built from a tool used internally by professional penetration testers, AppCheck combines open-source intelligence gathering with advanced browser-based crawling to identify vulnerabilities in web applications, APIs, and infrastructure.

What is AppCheck?

AppCheck started as an internal security tool within SEC-1, now part of the Claranet Group.

This origin gives the platform a practical, penetration-tester-focused design that addresses real-world security testing needs.

The solution has since expanded to serve organizations globally, offering both SaaS and on-premises deployment options.

The platform stands out for its intelligent crawling technology that uses a real browser engine to interact with modern JavaScript-heavy applications.

Unlike traditional DAST tools that rely on simple HTTP request parsing, AppCheck renders pages and executes JavaScript to discover hidden endpoints and dynamic content.

Key Features

Browser-Based Crawling Engine

AppCheck employs a sophisticated browser-based crawler that renders pages exactly as a real user would see them.

This approach enables detection of vulnerabilities in:

  • Single-page applications (SPAs) built with React, Angular, or Vue
  • Dynamic content loaded via AJAX requests
  • Client-side routing and state management
  • WebSocket communications

The crawler automatically handles modern authentication flows, including OAuth 2.0 and SAML, maintaining session state throughout the scanning process.

OSINT and Reconnaissance

Before active scanning begins, AppCheck gathers open-source intelligence about the target:

  • Subdomain enumeration and discovery
  • Technology stack fingerprinting
  • Certificate transparency log analysis
  • Historical data from web archives
  • DNS record analysis

This reconnaissance phase helps identify additional attack surface that might otherwise go unnoticed during standard vulnerability scanning.

API Security Testing

AppCheck provides specialized testing capabilities for REST APIs and web services:

  • OpenAPI/Swagger specification import
  • Automatic parameter fuzzing
  • Authentication token testing
  • Rate limiting and access control verification
  • GraphQL introspection and testing

Compliance and Reporting

Generate compliance-ready reports for various security standards:

  • PCI DSS requirements mapping
  • OWASP Top 10 coverage
  • CWE classification
  • Custom report templates
  • Executive summaries and technical details

How to Use AppCheck

SaaS Platform

The quickest way to start with AppCheck is through the cloud-hosted SaaS platform:

  1. Sign up for an account at appcheck-ng.com
  2. Add your target application domains
  3. Configure authentication if required
  4. Launch your first scan

API Integration

AppCheck provides a REST API for programmatic access:

# Start a new scan
curl -X POST "https://api.appcheck-ng.com/v1/scans" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target": "https://example.com",
    "profile": "full-scan",
    "authentication": {
      "type": "form",
      "loginUrl": "https://example.com/login",
      "username": "testuser",
      "password": "testpass"
    }
  }'

# Check scan status
curl "https://api.appcheck-ng.com/v1/scans/{scan_id}" \
  -H "Authorization: Bearer YOUR_API_KEY"

Integration

GitHub Actions

name: AppCheck Security Scan

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  security-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Trigger AppCheck Scan
        run: |
          SCAN_ID=$(curl -s -X POST "https://api.appcheck-ng.com/v1/scans" \
            -H "Authorization: Bearer ${{ secrets.APPCHECK_API_KEY }}" \
            -H "Content-Type: application/json" \
            -d '{"target": "${{ vars.TARGET_URL }}", "profile": "ci-quick"}' \
            | jq -r '.scan_id')

          # Poll for completion
          while true; do
            STATUS=$(curl -s "https://api.appcheck-ng.com/v1/scans/$SCAN_ID" \
              -H "Authorization: Bearer ${{ secrets.APPCHECK_API_KEY }}" \
              | jq -r '.status')

            if [ "$STATUS" = "completed" ]; then
              break
            elif [ "$STATUS" = "failed" ]; then
              exit 1
            fi
            sleep 30
          done

      - name: Check for Critical Vulnerabilities
        run: |
          CRITICAL=$(curl -s "https://api.appcheck-ng.com/v1/scans/$SCAN_ID/results" \
            -H "Authorization: Bearer ${{ secrets.APPCHECK_API_KEY }}" \
            | jq '[.vulnerabilities[] | select(.severity == "critical")] | length')

          if [ "$CRITICAL" -gt 0 ]; then
            echo "Found $CRITICAL critical vulnerabilities"
            exit 1
          fi

GitLab CI

appcheck-scan:
  stage: security
  image: curlimages/curl:latest
  script:
    - |
      SCAN_ID=$(curl -s -X POST "https://api.appcheck-ng.com/v1/scans" \
        -H "Authorization: Bearer $APPCHECK_API_KEY" \
        -H "Content-Type: application/json" \
        -d "{\"target\": \"$TARGET_URL\", \"profile\": \"ci-quick\"}" \
        | jq -r '.scan_id')

      echo "Scan started: $SCAN_ID"

      # Wait for scan completion
      while [ "$(curl -s "https://api.appcheck-ng.com/v1/scans/$SCAN_ID" \
        -H "Authorization: Bearer $APPCHECK_API_KEY" | jq -r '.status')" != "completed" ]; do
        sleep 30
      done

      # Generate report
      curl -s "https://api.appcheck-ng.com/v1/scans/$SCAN_ID/report?format=html" \
        -H "Authorization: Bearer $APPCHECK_API_KEY" > appcheck-report.html
  artifacts:
    paths:
      - appcheck-report.html
    expire_in: 30 days
  only:
    - main
    - merge_requests

When to Use AppCheck

AppCheck is particularly well-suited for organizations that:

  • Need penetration-tester-quality scanning without hiring dedicated security staff
  • Run modern JavaScript applications that require browser-based crawling
  • Require compliance reporting for PCI DSS or other standards
  • Want OSINT capabilities integrated with vulnerability scanning
  • Prefer UK-based vendors for data residency or compliance reasons

The platform works best when integrated into a broader security program that includes manual testing for business logic vulnerabilities and code review for issues that dynamic testing cannot detect.

Consider alternatives if you need open-source tooling for budget reasons or require specific integrations that AppCheck does not currently support.

Note: ISO 27001:2022 certified. Unlimited scans and users per license.