Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.
This guide will help you connect your GitHub repositories to ChainPatrol. Once connected, ChainPatrol will monitor your repository activity and help protect your community from scam links and malicious content shared in pull requests, discussions, and issues.
Choose which repositories to give ChainPatrol access to:
Install on all repositories (recommended for full protection)
Or select specific repositories
Review the permissions ChainPatrol is requesting
Click “Install” to authorize the connection
Important: Please ensure that all your public repositories are also added
to your organization assets in Dashboard > Settings > Organization Assets
for complete protection coverage.
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"ChainPatrol","colors":{"primary":"#6622DC","light":"#985EFD","dark":"#2A186B"},"logo":{"light":"https://mintcdn.com/chainpatrol/R_CITzEDbsciFTsn/logo/light.svg?fit=max\u0026auto=format\u0026n=R_CITzEDbsciFTsn\u0026q=85\u0026s=8ca4a8411113008ec8f9a57dec249989","dark":"https://mintcdn.com/chainpatrol/R_CITzEDbsciFTsn/logo/dark.svg?fit=max\u0026auto=format\u0026n=R_CITzEDbsciFTsn\u0026q=85\u0026s=3fba0f7cf94681111da5d1ce52ebf33b","href":"https://chainpatrol.com"},"favicon":"https://mintcdn.com/chainpatrol/R_CITzEDbsciFTsn/favicon.svg?fit=max\u0026auto=format\u0026n=R_CITzEDbsciFTsn\u0026q=85\u0026s=2ee94dcfc07708e2929aad42ea5ab4c5","api":{"openapi":"https://app.chainpatrol.io/api/v2/openapi.json?v=2","mdx":{"auth":{"method":"key","name":"X-API-KEY"},"server":"https://app.chainpatrol.io/api/v2"}},"appearance":{"default":"dark"},"background":{"image":"https://mintcdn.com/chainpatrol/oLEHOzLMXL0CWKrg/background.png?fit=max\u0026auto=format\u0026n=oLEHOzLMXL0CWKrg\u0026q=85\u0026s=562d8e2e01dbe50733cb041efde433a6","color":{"dark":"#060114"}},"navbar":{"links":[{"href":"https://chainpatrol.com/blog","label":"Blog"},{"href":"https://chainpatrol.com/changelog","label":"Changelog"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.chainpatrol.io/"}},"footer":{"socials":{"x":"https://x.com/chainpatrol","linkedin":"https://www.linkedin.com/company/89545915","github":"https://github.com/chainpatrol"}},"fonts":{"heading":{"family":"IBM Plex Sans"},"body":{"family":"Inter"}},"integrations":{"ga4":{"measurementId":"G-QEBBHCD92K"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"chainpatrol","hasAudioNarration":false,"actualSubdomain":"chainpatrol","customDomains":["chainpatrol.com"],"gitSource":{"type":"github","owner":"chainpatrol","repo":"docs","deployBranch":"main","contentDirectory":"","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aea5f14a3154a433bba3f98","collectionId":"4f438cdf-c586-41e6-8eb4-f10ad8227ad2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea5f14a3154a433bba3f98"},"feedback":{"thumbs":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aea5f14a3154a433bba3f98","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":103},{"language":"default","tag":"Documentation","count":29},{"language":"default","tag":"Integrations","count":22},{"language":"default","tag":"JavaScript SDK","count":21},{"language":"default","tag":"Getting Started","count":19},{"language":"default","tag":"CLI","count":16},{"language":"default","tag":"Concepts","count":14},{"language":"default","tag":"Assets","count":13},{"language":"default","tag":"Threat Detection","count":13},{"language":"default","tag":"Metrics","count":12}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"integration/github","slug":"/integration/github","pageMetadata":{"icon":"github","title":"GitHub","description":"Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.","href":"/integration/github"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`This guide will help you connect your GitHub repositories to ChainPatrol. Once connected, ChainPatrol will monitor your repository activity and help protect your community from scam links and malicious content shared in pull requests, discussions, and issues.`}),`\n`,_jsx(Heading,{level:`2`,id:`install-the-github-app`,children:`Install the GitHub App`}),`\n`,_jsxs(_components.p,{children:[`Visit the `,_jsx(_components.a,{href:`https://github.com/apps/chainpatrol`,children:`ChainPatrol GitHub App’s Public Page`}),`:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Click “Install”`}),`\n`,_jsx(_components.li,{children:`Select the GitHub account`}),`\n`,_jsxs(_components.li,{children:[`Choose which repositories to give ChainPatrol access to:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Install on all repositories (recommended for full protection)`}),`\n`,_jsx(_components.li,{children:`Or select specific repositories`}),`\n`]}),`\n`]}),`\n`,_jsx(_components.li,{children:`Review the permissions ChainPatrol is requesting`}),`\n`,_jsx(_components.li,{children:`Click “Install” to authorize the connection`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Important`}),`: Please ensure that all your public repositories are also added\nto your organization assets in `,_jsx(_components.strong,{children:`Dashboard > Settings > Organization Assets`}),`\nfor complete protection coverage.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`what-to-expect-after-connecting`,children:`What to Expect After Connecting`}),`\n`,_jsx(_components.p,{children:`Once connected, ChainPatrol will:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Monitor Pull Requests`}),`: Automatically scan links shared in PR comments and descriptions`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Watch Discussions`}),`: Review links posted in repository discussions for potential scams`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check Issues`}),`: Analyze links in issue comments and descriptions for malicious content`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Real-time Protection`}),`: Send suspicious links to ChainPatrol for immediate review`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Automated Response`}),`: Add confirmed scam links to our global blocklist`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Community Protection`}),`: Hide scam comments and issues to protect your community`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Seamless Integration`}),`: Work behind the scenes without disrupting your development workflow`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The GitHub app will only monitor public repositories and will not access your private code or sensitive information.`}),`\n`,_jsx(Heading,{level:`2`,id:`repository-requirements`,children:`Repository Requirements`}),`\n`,_jsx(_components.p,{children:`For optimal protection:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Repositories should be public (ChainPatrol focuses on protecting public communities)`}),`\n`,_jsx(_components.li,{children:`Enable Issues and Discussions if you want full monitoring coverage`}),`\n`,_jsx(_components.li,{children:`Ensure the app has the necessary permissions to read and moderate content`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`need-help`,children:`Need Help?`}),`\n`,_jsx(_components.p,{children:`If you encounter any issues during the connection process:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Make sure you have admin permissions in both your GitHub organization and ChainPatrol organization`}),`\n`,_jsx(_components.li,{children:`Verify that the repositories you want to protect are public`}),`\n`,_jsx(_components.li,{children:`Try refreshing the page and attempting the connection again`}),`\n`,_jsx(_components.li,{children:`Check that Issues and Discussions are enabled on your repositories`}),`\n`,_jsx(_components.li,{children:`Contact ChainPatrol support if you continue to experience issues`}),`\n`]}),`\n`,_jsx(_components.p,{children:`That’s it! Your GitHub repositories are now protected by ChainPatrol, helping keep your community safe from scams and malicious links.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"icon":"github","title":"GitHub","description":"Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.","href":"/integration/github"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Install the GitHub App","slug":"install-the-github-app","depth":2,"children":[]},{"title":"What to Expect After Connecting","slug":"what-to-expect-after-connecting","depth":2,"children":[]},{"title":"Repository Requirements","slug":"repository-requirements","depth":2,"children":[]},{"title":"Need Help?","slug":"need-help","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"chainpatrol","siteName":"ChainPatrol","title":"GitHub - ChainPatrol","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-30T13:56:15.679Z","originalFileLocation":"integration/github.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ChainPatrol\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"GitHub - ChainPatrol\">\u003cmeta data-mint-head property=\"og:description\" content=\"Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ChainPatrol\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://chainpatrol.com/docs/integration/github\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://chainpatrol.mintlify.site/docs/_mintlify/api/og/v2?division=Integrations\u0026amp;title=GitHub\u0026amp;description=Install+the+ChainPatrol+GitHub+App+to+monitor+pull+requests%2C+issues%2C+and+discussions+for+scam+links+and+shield+your+open-source+community+from+phishing.\u0026amp;theme=1a8d7dd79d865cbc4c2f5879\u0026amp;signature=97abfa496d9149b7fce6fab3cdb6b053d3a0eaa31b152a87b7035b071cf7202e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"GitHub - ChainPatrol\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://chainpatrol.mintlify.site/docs/_mintlify/api/og/v2?division=Integrations\u0026amp;title=GitHub\u0026amp;description=Install+the+ChainPatrol+GitHub+App+to+monitor+pull+requests%2C+issues%2C+and+discussions+for+scam+links+and+shield+your+open-source+community+from+phishing.\u0026amp;theme=1a8d7dd79d865cbc4c2f5879\u0026amp;signature=97abfa496d9149b7fce6fab3cdb6b053d3a0eaa31b152a87b7035b071cf7202e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/chainpatrol/NioFQGDQy3PBOTVO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ChainPatrol\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6622DC\">\u003clink data-mint-head rel=\"canonical\" href=\"https://chainpatrol.com/docs/integration/github\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/integration/github.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://chainpatrol.com/#organization\",\"name\":\"ChainPatrol\",\"url\":\"https://chainpatrol.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/chainpatrol/R_CITzEDbsciFTsn/logo/light.svg?fit=max\u0026auto=format\u0026n=R_CITzEDbsciFTsn\u0026q=85\u0026s=8ca4a8411113008ec8f9a57dec249989\"}},{\"@type\":\"WebSite\",\"@id\":\"https://chainpatrol.com/docs#website\",\"name\":\"ChainPatrol\",\"url\":\"https://chainpatrol.com/docs\",\"publisher\":{\"@id\":\"https://chainpatrol.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://chainpatrol.com/docs/integration/github#webpage\",\"url\":\"https://chainpatrol.com/docs/integration/github\",\"name\":\"GitHub\",\"description\":\"Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.\",\"dateModified\":\"2026-07-30T13:56:15.679Z\",\"isPartOf\":{\"@id\":\"https://chainpatrol.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://chainpatrol.com/docs/integration/github#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://chainpatrol.com/docs/integration/github#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://chainpatrol.com/docs/integration/discord\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitHub\",\"item\":\"https://chainpatrol.com/docs/integration/github\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://chainpatrol.com/docs/integration/github#article\",\"headline\":\"GitHub\",\"name\":\"GitHub\",\"description\":\"Install the ChainPatrol GitHub App to monitor pull requests, issues, and discussions for scam links and shield your open-source community from phishing.\",\"url\":\"https://chainpatrol.com/docs/integration/github\",\"mainEntityOfPage\":{\"@id\":\"https://chainpatrol.com/docs/integration/github#webpage\"},\"dateModified\":\"2026-07-30T13:56:15.679Z\",\"publisher\":{\"@id\":\"https://chainpatrol.com/#organization\"},\"isPartOf\":{\"@id\":\"https://chainpatrol.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ChainPatrol\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ChainPatrol","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/getting-started/what-we-do/introduction"}]},{"tab":"Integrations","groups":[{"group":"Integrations","pages":[{"icon":"discord","title":"Discord Bot","sidebarTitle":"Discord","href":"/integration/discord"},{"icon":"telegram","title":"Telegram Bot","sidebarTitle":"Telegram","href":"/integration/telegram"},{"icon":"slack","title":"Slack Bot","sidebarTitle":"Slack","href":"/integration/slack"},{"icon":"triangle","title":"Vercel","href":"/integration/vercel"},{"icon":"square","title":"Intercom","description":"Connect Intercom to ChainPatrol with the Canvas Kit app so support agents can report suspicious URLs from conversations and protect users from phishing.","href":"/integration/intercom"},{"icon":"github","title":"GitHub","href":"/integration/github"},{"icon":"dove","title":"Canary Tokens","description":"Set up Canary Tokens with ChainPatrol to detect when your website is cloned by phishing scammers and automatically block and take down malicious clones.","href":"/integration/canary-tokens"},{"icon":"webhook","title":"Webhooks","href":"/integration/webhooks"},{"icon":"bolt-lightning","title":"Zapier","href":"/integration/zapier"},{"icon":"shield-halved","title":"OpenCTI","href":"/integration/opencti"},{"icon":"meta","title":"Meta Brand Rights Protection","sidebarTitle":"Meta","href":"/integration/meta-brand-rights-protection"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/external-api/overview"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":"JavaScript SDK","pages":[{"title":"JavaScript SDK","href":"/sdk/overview"}]},{"tab":"Glossary","pages":[{"title":"Glossary","href":"/glossary/overview"}]}]},"basePath":"","title":"GitHub - ChainPatrol","buildId":"dpl_CEsowfH15TDzsBT2BFbX312Be4Ct","deploymentId":"dpl_CEsowfH15TDzsBT2BFbX312Be4Ct","dynamics":[],"chunks":[]}