{
  "slug": "asana",
  "tool_id": "npm/@roychri/mcp-server-asana",
  "verdict_url": "/verdict/asana",
  "verdict_content_hash": "sha256:5444fddb938aced8cacc36fbc641231164cfce0f4569fd1afab6a4ec0a5b9229",
  "version": "1.8.0",
  "commit": "d02f4368a3c16560390311566583c58c9e226a5a",
  "dist_shasum": "803c395d59f15f5b689362417de7591677661389",
  "scanned_at": "2026-06-14T00:00:00Z",
  "capture_self_test": "verified — a beacon decoy was emitted from the tool's network context; its presence in the intercept means a 'no egress' result would have been trustworthy.",
  "method": "Installed and run in an isolated container; fed traceable decoy data; all outbound traffic intercepted (TLS broken via own CA, iptables transparent redirect). Endpoints, resolved geo/jurisdiction and frequency are observed facts. Capture self-test passed.",
  "request_count": 38,
  "captured_requests": [
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/workspaces?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/workspaces/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/projects?archived=false&limit=100&opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/users/me/user_task_list?workspace=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/workspaces/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/tasks/search?due_on=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&start_on=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&created_on=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&completed_on=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&modified_on=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&portfolios.any=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&assignee.any=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&assignee.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&projects.any=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&projects.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&projects.all=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&sections.any=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&sections.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&sections.all=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&tags.any=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&tags.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&tags.all=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&teams.any=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&followers.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&created_by.any=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&created_by.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&assigned_by.any=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&assigned_by.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&liked_by.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&commented_on_by.not=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&due_on.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&due_on.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&due_at.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&due_at.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&start_on.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&start_on.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&created_on.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&created_on.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&created_at.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&created_at.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&completed_on.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&completed_on.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&completed_at.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&completed_at.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&modified_on.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&modified_on.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&modified_at.before=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&modified_at.after=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&text=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&resource_subtype=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&sort_by=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "615",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"name\":\"Canary canary-8e4bc1a1-name-e60f6b928742\",\"notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"html_notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"due_on\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"assignee\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"followers\":[\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"],\"parent\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"projects\":[\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"],\"resource_subtype\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"custom_fields\":{}}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/stories?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "PUT",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "547",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"name\":\"Canary canary-8e4bc1a1-name-e60f6b928742\",\"notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"html_notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"due_on\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"assignee\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"followers\":[\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"],\"parent\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"resource_subtype\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"custom_fields\":{}}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/task_counts?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/sections?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/tasks?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&offset=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "458",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"workspace\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"name\":\"Canary canary-8e4bc1a1-name-e60f6b928742\",\"team\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"color\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"privacy_setting\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"default_view\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/addDependencies",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "82",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"dependencies\":[\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"]}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/addDependents",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "80",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"dependents\":[\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"]}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/subtasks?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/project_statuses/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/project_statuses?offset=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/project_statuses",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "333",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"text\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"color\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"title\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"html_text\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"opt_fields\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "DELETE",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/project_statuses/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tags/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/tags?offset=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/workspaces/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/tags?offset=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "PUT",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tags/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "186",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"name\":\"Canary canary-8e4bc1a1-name-e60f6b928742\",\"color\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "DELETE",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tags/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "GET",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tags/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/tasks?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND&offset=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/workspaces/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/tags?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "255",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"name\":\"Canary canary-8e4bc1a1-name-e60f6b928742\",\"followers\":[\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"],\"color\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/addTag",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "71",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"tag\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/removeTag",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "71",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"tag\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/addProject",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "281",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"project\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"section\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"insert_after\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"insert_before\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/removeProject",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "75",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"project\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "DELETE",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/tasks/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/sections?body=%5Bobject%20Object%5D&opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "60",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"name\":\"Canary canary-8e4bc1a1-name-e60f6b928742\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "PUT",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/sections/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND?body=%5Bobject%20Object%5D&opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "60",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"name\":\"Canary canary-8e4bc1a1-name-e60f6b928742\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "DELETE",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/sections/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json",
        "Accept": "application/json; charset=UTF-8",
        "Connection": "close"
      },
      "body_redacted": "",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "POST",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/sections/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND/addTask?body=%5Bobject%20Object%5D",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "213",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"task\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"insert_before\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"insert_after\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    },
    {
      "method": "PUT",
      "scheme": "https",
      "host": "app.asana.com",
      "path": "/api/1.0/projects/FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND?opt_fields=FILE-CONTENT%3A%3Acanary-8e4bc1a1-file-1c0da79e499b%3A%3AEND",
      "headers": {
        "Host": "app.asana.com",
        "Accept-Encoding": "gzip, deflate",
        "Authorization": "Bearer canary-dummy",
        "X-Asana-Client-Lib": "version=3.1.12&language=NodeJS&language_version=v20.20.2&os=linux",
        "Content-Type": "application/json; charset=UTF-8",
        "Accept": "application/json; charset=UTF-8",
        "Content-Length": "327",
        "Connection": "close"
      },
      "body_redacted": "{\"data\":{\"name\":\"Canary canary-8e4bc1a1-name-e60f6b928742\",\"notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"html_notes\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"color\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\",\"privacy_setting\":\"FILE-CONTENT::canary-8e4bc1a1-file-1c0da79e499b::END\"}}",
      "blocked": true,
      "tls_inspected": true
    }
  ],
  "reproduce": {
    "scanner": "canary-sandbox (open methodology; Docker backend)",
    "command": "python -m canary.cli scan <target> --backend docker   # target: npm @roychri/mcp-server-asana@1.8.0",
    "note": "Re-run it yourself: the scanner installs the pinned version, drives the tool over MCP, and intercepts all egress."
  },
  "note": "Raw captured outbound requests from one sandbox run (identifiers/keys redacted). This is the underlying observation behind the verdict — re-run the scan to verify.",
  "verification": "verdict_content_hash = sha256 over the canonical verdict JSON; dist_shasum = the npm tarball checksum of the pinned version. Signed artifacts + an append-only immutable log are on the roadmap (toward independent verifiability).",
  "verdict_signature": "ed25519:YaULdaCBt1WSBrp6zEqX6iyD044eCCjdgrCusY/za0xydwr7cuWvZIQjUBxLUGnPC4on6sszHS1sj6DlSqR5BA=="
}