GitHub
GitHub Integration
Pensar Console integrates with GitHub to scan and secure your repositories. The integration uses a GitHub App to provide secure access to your code without requiring personal access tokens.
Prerequisites
Before connecting GitHub, ensure you have:
- A GitHub account with access to the repositories you want to scan
- Organization owner or admin access (if installing on an organization)
Connecting GitHub
From Workspace Settings
- Navigate to Settings → Integrations → Source control in your Pensar Console workspace
- Find the GitHub row
- Click Connect (or Add Account to connect an additional organization)
- A popup window will open to GitHub’s app installation page
- Select the organization or user account where you want to install the app
- Choose to install on all repositories or select specific repositories
- Click Install
- You’ll be automatically redirected back to Pensar Console
Direct Installation
You can also install the Pensar GitHub App directly from GitHub:
- Visit github.com/apps/pensarapp
- Click Install
- Select the organization or user account where you want to install the app
- Choose your repository access preferences
- Click Install
From Onboarding
When creating a new workspace, you’ll be prompted to connect GitHub during the onboarding process. Simply follow the same steps above.
You can connect multiple GitHub accounts or organizations to the same workspace. This is useful if your code is spread across different GitHub organizations.
Permissions
The Pensar GitHub App requests the following permissions:
When you add repositories, the picker notes that the GitHub App is installed with read-only browsing access — you choose exactly which repositories it can see. The write-level permissions above are only exercised when you opt into auto-remediation (commits and pull requests) for a repository.
Adding Repositories
After the app is installed, attach repositories directly to your workspace:
- Go to Attack Surface → Repositories in Pensar Console
- Click Add repository
- Your GitHub repositories appear in the picker — select one or more
- Click Attach & continue
Each repository you attach is connected to the workspace and recon / attack-surface analysis launches automatically — there is no separate project to create. You can optionally add credentials in the next step, then return to the repository list where a toast links you to the analysis progress.
Syncing Findings as Issues
Pensar can file each security finding as a GitHub issue in your repository and keep its state in sync. Unlike Linear and Notion, this needs no separate connection — it runs on the GitHub App installation you already have.
Enabling Sync
- Navigate to Settings → Integrations → Issue tracking
- Find the Issue sync card and locate the GitHub Issues section
- Turn on Sync to GitHub and set a Severity Filter
What Gets Synced
Once enabled, Pensar files each matching finding as a GitHub issue:
- The issue title is prefixed with
[Pensar Security] - The body includes the severity, description, affected location, CWE classification, and a direct link back to the finding in the Pensar Console
- Three labels are applied:
security,pensar, andseverity:<level>
Where Issues Are Filed
Issues are filed into the workspace’s GitHub-connected repository — the first repository attached to the workspace with an App installation.
This is the one way GitHub differs from Linear and Notion. Those integrations file into a per-repository target (a Linear team, a Notion database), so different repositories can route to different destinations. GitHub Issues has no such target: every finding in the workspace lands in the same repository, whichever repository it was found in.
Per-repository settings still apply to whether a finding is filed and at what severity:
Backfilling Existing Findings
Turning on sync only affects findings discovered from that point on. To file findings you already have, use Sync existing findings in the Issue sync card. Pensar files every open finding that meets the routing and severity rules, skipping any that already has a linked GitHub issue.
Two-Way Status Sync
When a finding’s status changes in Pensar, the linked issue is updated:
GitHub has no in-progress state for issues, so a finding in review stays open.
Changes made in GitHub flow back the same way, through the App’s webhook:
Inbound reflection can be turned off per provider with Reflect status changes from GitHub, in the GitHub Issues section. With it off, Pensar remains the source of truth: findings still sync outward to GitHub, but changes made in GitHub are ignored.
Managing Installations
Viewing Connected Accounts
- Navigate to Settings → Integrations → Source control
- Find the GitHub row
- You’ll see all connected GitHub accounts and organizations
Adding More Accounts
Click Add Account in the GitHub row to connect additional GitHub organizations or user accounts.
Modifying Repository Access
To change which repositories Pensar can access:
- Go to your GitHub organization or account settings
- Navigate to Installed GitHub Apps
- Find Pensar and click Configure
- Update the repository access settings
- The changes will be reflected in Pensar Console automatically
Removing an Installation
To disconnect a GitHub account:
- Go to your GitHub organization or account settings
- Navigate to Installed GitHub Apps
- Find Pensar and click Configure
- Scroll down and click Uninstall
Removing a GitHub installation will prevent Pensar from scanning repositories in that account. Any repositories attached to your workspace from that account will no longer be able to perform scans.
Troubleshooting
Installation Pending Approval
If you see “Installation pending approval”, it means you requested to install the app on an organization where you’re not an admin. An organization owner will need to approve the installation.
Repositories Not Appearing
If your repositories don’t appear in the Add repository picker:
- Verify the GitHub App is installed on the correct organization
- Check that the app has access to the specific repository
- Ensure you have at least read access to the repository on GitHub
Permission Errors
If you see permission errors when scanning:
- Verify the GitHub App has the required permissions listed above
- Ensure the app is installed on the repository you’re trying to scan
- Check that the installation hasn’t been suspended
Need Help?
If you encounter issues setting up your GitHub integration, please contact our support team at team@pensar.dev.