scanner-outsystems
Service icon

Scanner OutSystems

Stable version 1.0.0 (Compatible with OutSystems 11)
Uploaded
 on 20 Jun (21 hours ago)
 by 
0.0
 (0 ratings)
scanner-outsystems

Scanner OutSystems

Documentation
1.0.0

Installation

  1. Install File Security Scanner from the OutSystems Forge.
  2. Open your Reactive application in Service Studio.
  3. Select Manage Dependencies.
  4. Find the File Security Scanner producer module.
  5. Select the required server actions:
    • ScanPdf
    • IsSafePdf
    • SanitizePdf
  6. Click Apply.

Configuration

No API keys or external services are required.

Each action accepts:

  • FileContent: Uploaded file as Binary Data.
  • FileName: Original filename, including its extension.
  • DeclaredContentType: MIME type reported for the upload. For PDFs, use application/pdf.

The declared content type is compared with the file’s actual byte signature. Do not determine file validity from its filename alone.

Recommended Usage

Call the scanner in a server action immediately after receiving an uploaded file and before saving or processing it.

Recommended flow:

  1. Receive the file from an Upload widget.
  2. Pass its binary content, filename, and MIME type to IsSafePdf.
  3. Continue only when IsSafe is True.
  4. If executable content is detected, optionally call SanitizePdf.
  5. Store the sanitized binary only when FullySanitized is True.
  6. Reject or quarantine invalid or incompletely sanitized files.

Available Actions

ScanPdf

Scans the uploaded file and returns a detailed JSON report.

Inputs

  • FileContent: Binary Data
  • FileName: Text
  • DeclaredContentType: Text

Output

  • ScanResultJson: Text

The JSON report contains validation status, detected content type, JavaScript status, executable-content status, findings, and error information.

IsSafePdf

Provides a simplified result suitable for controlling an upload flow.

Inputs

  • FileContent: Binary Data
  • FileName: Text
  • DeclaredContentType: Text

Outputs

  • IsSafe: Boolean
  • Code: Text
  • Message: Text
  • ScanResultJson: Text

Only store or process the original file when IsSafe is True.

SanitizePdf

Attempts to neutralize supported executable PDF content.

Inputs

  • FileContent: Binary Data
  • FileName: Text
  • DeclaredContentType: Text

Outputs

  • SanitizedFileContent: Binary Data
  • WasModified: Boolean
  • FullySanitized: Boolean
  • ScanResultJson: Text

Only use SanitizedFileContent when FullySanitized is True.

Result Codes

  • CLEAN: No risky content was detected.
  • EXECUTABLE_CONTENT_DETECTED: Scripts, executable actions, embedded content, or webshell-like markers were detected.
  • EMPTY_UPLOAD: No file content was supplied.
  • INVALID_FILE_SIGNATURE: The file is not a valid PDF based on its signature.
  • MIME_TYPE_MISMATCH: The declared MIME type does not match the detected signature.

Detection Coverage

The extension detects:

  • MIME type and file-signature mismatches
  • Disguised uploads
  • PDF JavaScript
  • Open and automatic actions
  • Launch, submit, import, and remote actions
  • Embedded files
  • Rich Media and XFA
  • ASPX and webshell-like indicators

General file signatures such as PDF, PNG, JPEG, and ZIP are recognized. Advanced embedded-content scanning and sanitization currently apply to PDF files.

Security Considerations

This extension provides signature validation and heuristic security scanning. It does not replace antivirus software, malware sandboxing, or enterprise Content Disarm and Reconstruction services.

Reject or quarantine files when:

  • IsValidUpload is False
  • IsSafe is False and sanitization is not allowed
  • FullySanitized is False
  • The file type is unsupported by the intended application workflow