{
  "name": "Automated APK security scanning & PDF reporting with MobSF, AI & Google Drive",
  "nodes": [
    {
      "id": "ca02a215-1b80-4bbd-a88a-c782769bde52",
      "name": "Watch APK Uploads",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        -16,
        64
      ]
    },
    {
      "id": "e2240db4-4931-44b5-befc-1da5cdde45db",
      "name": "Download APK File",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        208,
        64
      ]
    },
    {
      "id": "abcb38fb-0a0d-4ee8-950a-5e8aa99b2ccc",
      "name": "Upload APK to Analyzer",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        432,
        64
      ]
    },
    {
      "id": "8680bb4e-0ed1-4c01-b135-3ca5336f8d9b",
      "name": "Summarize MobSF Report1",
      "type": "n8n-nodes-base.code",
      "position": [
        880,
        64
      ]
    },
    {
      "id": "a1e0fb8a-66cd-461c-86c5-64e1fb7b8b15",
      "name": "Generate HTML Report",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1104,
        64
      ]
    },
    {
      "id": "d66ac7a7-e25e-4e92-8c95-707250753b75",
      "name": "Clean HTML Output",
      "type": "n8n-nodes-base.code",
      "position": [
        1456,
        64
      ]
    },
    {
      "id": "b32e4384-a177-473a-b934-c2c44b92535c",
      "name": "Generate PDF",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1680,
        64
      ]
    },
    {
      "id": "24fe6ab7-9793-4470-820b-987dc8a217df",
      "name": "Download Generated PDF",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1904,
        64
      ]
    },
    {
      "id": "35df904a-7f82-41a3-9375-4b2a2b77a7f8",
      "name": "Upload PDF to Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2128,
        64
      ]
    },
    {
      "id": "c16d6ad5-5f4c-4858-85c2-45723c995aa8",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -272
      ],
      "parameters": {
        "width": 432,
        "height": 544,
        "content": "## Detect APK Upload & Fetch File\n### This part waits for a new APK file uploaded to Google Drive. When a new file appears, it automatically downloads it for security analysis. It ensures the workflow"
      }
    },
    {
      "id": "9307140e-5aaa-4cd8-be7b-8140e20130fd",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        -272
      ],
      "parameters": {
        "width": 416,
        "height": 544,
        "content": "## Upload & Scan the APK for Security Issues\n### The downloaded APK is uploaded to the MobSF analyzer. A new scan is triggered to check for potential security risks, including permissions, vulnerabili"
      }
    },
    {
      "id": "ccc0bd44-b3e1-4513-9081-c191bb9ad07d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        -272
      ],
      "parameters": {
        "width": 704,
        "height": 528,
        "content": "## Create a Clean Security Report\n### The workflow processes the MobSF data and extracts important findings. Then the AI converts this summary into a clean and readable HTML format. The HTML is cleane"
      }
    },
    {
      "id": "24cd8881-7c84-4163-aaa2-42934b704a91",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1632,
        -272
      ],
      "parameters": {
        "width": 656,
        "height": 528,
        "content": "## Convert to PDF & Save to Drive\n### The formatted HTML is sent to a PDF API service, which generates a professional PDF report. The final PDF file is downloaded and stored back into Google Drive so "
      }
    },
    {
      "id": "f35cef7c-94ca-4a9d-8bea-32bab38c35f5",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        -1248
      ],
      "parameters": {
        "width": 512,
        "height": 1328,
        "content": "## How It Works\n### This workflow automatically analyzes newly uploaded APK files and generates a complete security report. When an APK is added to a specific Google Drive folder, the workflow downloa"
      }
    },
    {
      "id": "8c97216c-75cb-46b8-8fb2-02b22af9efa1",
      "name": "Start Security Scan",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        656,
        64
      ]
    }
  ],
  "connections": {
    "Generate PDF": {
      "main": [
        [
          {
            "node": "Download Generated PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean HTML Output": {
      "main": [
        [
          {
            "node": "Generate PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download APK File": {
      "main": [
        [
          {
            "node": "Upload APK to Analyzer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Watch APK Uploads": {
      "main": [
        [
          {
            "node": "Download APK File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start Security Scan": {
      "main": [
        [
          {
            "node": "Summarize MobSF Report1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate HTML Report": {
      "main": [
        [
          {
            "node": "Clean HTML Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download Generated PDF": {
      "main": [
        [
          {
            "node": "Upload PDF to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload APK to Analyzer": {
      "main": [
        [
          {
            "node": "Start Security Scan",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize MobSF Report1": {
      "main": [
        [
          {
            "node": "Generate HTML Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}