GitHub Copilot + xCloud

Secure sites and servers with GitHub Copilot on xCloud

Securing sites and servers with GitHub Copilot means using agent mode in VS Code to read xCloud vulnerability findings and server protections beside your code, and to change a rule or a ban only after you confirm it.

  • Skill: xcloud:servers
  • Toolsets: vulnerabilities, servers, sites, wordpress-actions
  • Free with every xCloud account

YouList open vulnerabilities across the team, worst first.

vulnerabilities_indexread-only

Agentshop.example.com has one high finding and two medium ones. blog.example.com has one medium. Nothing is open on the other sites. Want me to rescan the shop?

YouYes, and show the Frankfurt firewall rules.

servers_firewallRulesread-only

AgentFrankfurt allows SSH, HTTP and HTTPS. Rescan is queued for the shop, and I will check its count again shortly.

. Keep a human in the loop: xCloud stops and asks before anything that creates, deploys, updates, reboots, deletes or buys.

Setup

How Do You Set Up GitHub Copilot to Secure sites and servers on xCloud?

Connect GitHub Copilot once; every job on this account uses the same connection. Then ask in plain words.

  1. Add xCloud to .vscode/mcp.json

    Create or open .vscode/mcp.json in your workspace and paste this. VS Code uses a top-level servers key, not mcpServers, and a remote server needs type http. The URL carries profile=compact because VS Code allows at most 128 tools in one chat request and the full xCloud server advertises one tool per customer-facing operation, 188 today; the compact profile is five tools that still reach every operation. Start the server from MCP: List Servers. xCloud then asks you to sign in in the browser, where you tick the teams and choose Read-only or Full access.

    JSON
    {
      "servers": {
        "xcloud": {
          "type": "http",
          "url": "https://app.xcloud.host/mcp?profile=compact"
        }
      }
    }
  2. Or add it from the Command Palette

    Open the Command Palette and run this command, follow the prompts to add a remote HTTP server, paste https://app.xcloud.host/mcp?profile=compact and name it xcloud. VS Code asks where to save it; pick the workspace to share the entry with your team, or your user profile to keep it to yourself.

    Code
    MCP: Add Server
  3. Add the Agent Plugins package

    Optional. The xCloud Agent Plugins package bundles plugin.json, mcp.json and the nine skills for GitHub Copilot and VS Code. Download it from the xcloud-agent-skills GitHub Releases page (dist/agent-plugin/xcloud) and follow VS Code's agent plugin instructions to install it.

    URL
    https://github.com/xCloudDev/xcloud-agent-skills
  4. Check it worked

    Then ask GitHub Copilot for the job itself, for example:

    Prompt
    In agent mode, list open vulnerabilities for every site on my xCloud team and rank them worst first.

In practice

How Does Security Work from GitHub Copilot?

With GitHub Copilot you are already in VS Code, and the xcloud entry in .vscode/mcp.json puts xCloud's operations in agent mode's tool list. Open the chat view, switch to agent mode and ask which sites on the team have open vulnerabilities. Copilot calls the team-wide rollup and answers with a ranked list in the chat panel. A follow-up about one site brings the counts by severity and the findings themselves, and you can keep the answer open while you read the plugin or theme code in the editor tabs next to it. VS Code shows each tool call before it runs, so you can see which xCloud operation Copilot is about to use.

The shared file is what is special about this client. A .vscode/mcp.json committed to the workspace gives everyone on the team the same server entry, but each person signs in to xCloud with their own account and approves their own access. That suits security work. A teammate who only needs to read findings can approve Read-only, and the person who maintains the servers can approve Full access. A rescan runs without a stop and finishes a little later, so Copilot reads the count again before it reports a result. A plugin, theme or core update that clears a finding always stops for confirmation, and it offers a backup first.

On servers, Copilot reads firewall rules, Fail2Ban bans, the SSH restriction status and the sudo users, and it can add, disable or delete a rule, ban or unban an address and whitelist xCloud's IPs after you confirm. It names the server and the effect first, and it explains the lockout risk when SSH is involved. It does not delete the default SSH rule on its own. Some protections are dashboard switches, such as the AI bot blocker, the 7G and 8G firewall and one site's IP rules, and Copilot says so and gives you the path instead of claiming a change. Your editor's own tool confirmation and xCloud's confirmation are separate checks, so a change can pause twice.

GitHub Copilot specific: A .vscode/mcp.json in the repository is shared, but sign-in is per person, so teammates can end up with different access to the same servers. If a colleague gets refusals on firewall or ban changes, they most likely approved Read-only, so ask them to start the server from MCP: List Servers and sign in again with Full access. If your organization controls Copilot through GitHub policies, an administrator may also decide which MCP servers you can use.

What xCloud does for security

xCloud reads vulnerability findings for one site or across your whole team, starts rescans and ignores or restores a finding. On servers it manages firewall rules, Fail2Ban bans, the SSH restriction state and sudo users. Protections such as the AI bot blocker, the 7G and 8G firewall and per-site IP rules stay dashboard switches.

  1. Start with the team-wide rollup. For a fleet question the agent reads the vulnerability rollup across every site on the team in one call and sorts it worst first. For one site it reads the findings and the counts by severity instead.
  2. Rescan and triage findings. A rescan runs without a confirmation stop and finishes asynchronously, so the agent checks the count again afterwards. Findings carry a severity and a source, and severity is the triage key. A false positive can be ignored with a reason and restored later.
  3. Fix what the finding points to. Most findings are fixed by updating a plugin, a theme or WordPress core. The agent proposes the updates, takes a backup first if you want one, and waits for your approval, because updating plugins or themes always stops for confirmation.
  4. Review the server's perimeter. The agent reads firewall rules, the Fail2Ban banned IP list, the SSH restriction status and the sudo users. It can add or disable a rule, ban or unban an address and whitelist xCloud's own IPs after you confirm the server and the effect.
  5. Report what is dashboard-only. AI bot blocking, the 7G and 8G firewall and a single site's IP allow and block list are dashboard switches. The agent reads what it can, such as the 7G and 8G logs, and gives you the dashboard path and the site's dashboard link for the rest.

Reference

Security Settings and Limits on xCloud

The facts GitHub Copilot works within when it secures sites and servers. Where a row names the dashboard, that step stays yours to take there.

Setting or limitWhat applies
Vulnerability findingsPer-site list and counts by severity (critical, high, medium, low), plus a team-wide rollup across every site you can reach
RescansTriggering a rescan is a routine action that runs without a confirmation stop. It is asynchronous, so the agent polls the count or the site events
Ignore and restoreA finding can be ignored with a reason and un-ignored later. Both are changes to the finding, not to the site
Firewall rulesList, create, enable, disable and delete server rules by name, protocol (tcp or udp), traffic (allow or deny), port and optional source IP
Fail2BanList banned IPs, ban one or more addresses and unban an address. Adding addresses to Fail2Ban's own ignore list is an SSH step described in the Fail2Ban guide
WhitelistingxCloud's infrastructure IPs and the caller's IP can be whitelisted. The SSH restriction status says whether SSH is limited to trusted addresses
Sudo usersList, create or update, and delete OS-level privileged accounts. Private keys are never returned, and a temporary account is available for short jobs
7G and 8G firewallSwitched on in the dashboard. Their logs are readable through the nginx log type of the site's access log read
AI bot blockerA dashboard toggle: Site, Tools, Nginx and Security on Nginx, Tools, Security on OpenLiteSpeed
Per-site IP rulesDashboard-only: Site, Tools, IP Management. The API lists a site's rules but does not change them; server-wide blocks are on the API
Automated security updatesxCloud installs security updates on servers it provisions, and Automatic Reboot restarts the server only when a reboot is required. Both are configured in the dashboard
Security headersThe API lists a site's custom Nginx configuration. Adding headers is a dashboard or SSH step, described in the security headers guide

Rules GitHub Copilot has to follow

  • Firewall, Fail2Ban and sudo-user changes name the exact server and the effect before they run, and they wait for your yes. Locking out SSH is the risk the agent explains first.
  • The agent never disables SSH or a database service to tidy up a ruleset, and it does not delete the default SSH rule on its own.
  • Updating a plugin or theme to fix a finding stops for your approval, and the agent offers a backup first.
  • Ignoring a finding needs a reason you give. The agent records it and tells you how to restore it.
  • AI bot blocking, the 7G and 8G firewall, per-site IP rules and automated update settings are dashboard steps. The agent says so, gives the path and the dashboard link, and never claims it changed them.
  • A temporary sudo user is for a specific job and is removed when the job ends.

Example prompts

What Can You Ask GitHub Copilot to Do for Security?

Type these as written and swap in your own repository, site and server names. Reads and routine actions such as backups, cache purges, PageSpeed scans and vulnerability scans run straight away; creating, deploying, updating, rebooting, deleting, buying or starting a broken-link scan stops and asks first.

Prompt
In agent mode, list open vulnerabilities for every site on my xCloud team and rank them worst first.
Prompt
Rescan example.com, check the count again when it is done and tell me whether the high finding is still open.
Prompt
Show the firewall rules and sudo users on the Frankfurt server and flag anything that looks temporary.
Prompt
Show the vulnerability count for every site on this team, sorted worst first, and name the top three findings.
Prompt
Run a vulnerability scan on the shop site and tell me what it finds.
Prompt
List the findings on the blog site and ignore the false positive in the contact form plugin, with the reason.
Prompt
Update every plugin on the shop site, then run a vulnerability scan, and stop if anything is still open.
Prompt
List the firewall rules on the Frankfurt server and tell me whether SSH is restricted to trusted IPs.
Prompt
Show the IPs Fail2Ban has banned on the Frankfurt server, and unban 203.0.113.10.
Prompt
Whitelist the xCloud IPs on the Frankfurt server.
Prompt
Which sudo users exist on the Frankfurt server? Flag any that look temporary or unused.

GitHub Copilot and Security: Frequently Asked Questions

What people ask before they let GitHub Copilot secure sites and servers through xCloud.

Does a committed .vscode/mcp.json share my xCloud access with the team?

It shares the server entry, not your access. Each person signs in to xCloud with their own account and chooses Read-only or Full access, so a teammate only reaches the servers and teams their own approval covers.

Will Copilot change firewall rules without asking?

No. It names the server and the effect, then waits for your confirmation, and xCloud also refuses firewall, Fail2Ban and sudo-user changes without an explicit confirmation. VS Code may show its own tool confirmation as well.

Can an agent show vulnerabilities across all my sites at once?

Yes. xCloud has a team-wide rollup that lists findings for every site you can reach, which the agent sorts worst first. For one site it reads the findings and the counts by severity, and it can start a rescan.

Can the agent ban an IP address on my server?

Yes. It can ban addresses in Fail2Ban, list the banned IPs and unban one, and it can create, disable and delete server firewall rules. It confirms the server and the effect first, so you do not lock yourself out.

Can the agent turn on the 8G firewall or the AI bot blocker?

No. Both are dashboard switches. The agent can read the 7G and 8G firewall logs through the site's nginx logs, and it tells you where the switches are: the site's Tools section. It does not claim to have changed them.

Can the agent block an IP for just one site?

Not from here. Per-site IP allow and block lists are managed in the dashboard under Site, Tools, IP Management, and the agent can only list what is there. Server-wide blocks, through firewall rules and Fail2Ban, are on the API.

Does the agent fix a vulnerability on its own?

No. It reports the finding and proposes the update that remediates it, usually a plugin, theme or core update. Updates always stop for your approval, and the agent can take a backup first and rescan afterwards to confirm the finding is gone.

Other agents

Security with Other Agents

The same job, the same xCloud tools, a guide for each client.

Run Your Hosting from GitHub Copilot

xCloud MCP, the Agent Skills and the Public API are free with every account. Connect once and ask.