Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@
"platform/repositories",
"platform/repositories/github",
"platform/repositories/github-enterprise-server",
"platform/repositories/gitlab"
"platform/repositories/gitlab",
"platform/repositories/azure-devops"
]
},
{
Expand Down
1 change: 1 addition & 0 deletions images/azure-devops.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/azure.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/azure_copy_token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/azure_devops_connect.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/azure_devops_select_repositories.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/azure_new_token.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/azure_pat.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/azure_scopes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
},
"scripts": {
"dev": "mintlify dev",
"lint": "prettier --check ."
"lint": "prettier --check .",
"lint:write": "prettier --write ."
},
"devDependencies": {
"mintlify": "4.2.678",
Expand Down
3 changes: 2 additions & 1 deletion platform/automations/remediation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ Remediation is a part of [Automations](/platform/automations/overview) that fixe
1. **Verifies that the finding is real.** Tests whether the reported issue is actually exploitable in this code. If the finding is wrong (e.g. the code is unreachable), Hacktron reports it as a false positive. We will never attempt to fix already sound code.
2. **Implements the fix.** Makes the minimal correct fix that addresses the root cause of the vulnerability.
3. **Tests the fix.** Runs the existing test suite for the repository, if any. Adds relevant regression tests & makes sure the fix correctly addresses the issue while avoiding breaking anything else.
</Card>

</Card>

Remediation runs use [automation credits](/platform/automations/credits). You can start a run yourself from a finding or let it happen automatically through an [automation](/platform/automations/overview)'s Remediation action.

Expand Down
11 changes: 9 additions & 2 deletions platform/integrations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ description: "Connect SCM, project management, and communication tools to the Ha
</Step>
<Step title="Integrate your Git platform">
Connect your existing GitHub Team, GitHub Enterprise Cloud, GitHub
Enterprise Server, or GitLab account. You choose exactly which
Enterprise Server, GitLab, or Azure DevOps account. You choose exactly which
repositories Hacktron has access to.

For detailed instructions, choose your Git platform below.

<Columns cols={2}>
<Card
title="GitHub.com"
title="GitHub"
icon="github"
href="/platform/repositories/github"
>
Expand All @@ -36,6 +36,13 @@ description: "Connect SCM, project management, and communication tools to the Ha
<Card title="GitLab" icon="gitlab" href="/platform/repositories/gitlab">
Any plan on cloud GitLab.com
</Card>
<Card
title="Azure DevOps"
icon="/images/azure-devops.svg"
href="/platform/repositories/azure-devops"
>
Azure DevOps Services or Server
</Card>
</Columns>

</Step>
Expand Down
101 changes: 101 additions & 0 deletions platform/repositories/azure-devops.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: "Azure DevOps"
description: "Configure repository access for Azure DevOps Services and Azure DevOps Server."
---

## Prerequisites

You need to be an administrator of the Azure DevOps organization you want to
connect to Hacktron. This is required to create a Personal Access Token with the
scopes Hacktron uses to read code, post pull request statuses, and register the
service hooks that trigger reviews.

## Configure access

<Steps>
<Step title="Open Personal Access Tokens">
In Azure DevOps, open **User settings** (the icon next to your avatar in the
top right) and select **Personal access tokens**.

<img src="/images/azure_pat.png" alt="Azure DevOps Personal Access Tokens" />
Comment thread
TheMythologist marked this conversation as resolved.

</Step>
<Step title="Create a new token">
Click **New Token**. Give it a descriptive name, e.g. "Hacktron", and select
the organization you want to connect.

<img src="/images/azure_new_token.png" alt="Create Azure DevOps Token" />

<Warning>
**Personal access tokens have expiration dates.** Set the expiration to
cover the duration of your intended use of Hacktron to avoid service
interruption.
</Warning>

</Step>
<Step title="Grant the required scopes">
Switch the scope selector to **Show all scopes** and grant the following:

- **Code** - "Read & write" and "Status"
- **Project and Team** - "Read"
- **Service Connections** - "Read, query & manage"
- **Identity** - "Read"

<Info>
The "Read & write" Code scope lets Hacktron clone repositories and post
review comments; "Status" lets it report pull request check results. The
Service Connections scope lets Hacktron register the service hooks that
notify it when a pull request is opened or updated, so reviews run
automatically. Hacktron does not retain any source code after each review
is complete.
</Info>

<img src="/images/azure_scopes.png" alt="Azure DevOps Token Scopes" />

Click **Create**, then copy the generated token. Azure DevOps shows it only
once.

<img src="/images/azure_copy_token.png" alt="Azure DevOps Copy Token" />

</Step>
<Step title="Open Integrations page">
In Hacktron, go to **Integrations** and click **Connect** under **Azure
DevOps**.

<img src="/images/azure.png" alt="Azure DevOps Integration" />

</Step>
<Step title="Enter the token">
Enter your organization URL (e.g. https://dev.azure.com/hacktronai) and the token you created earlier, and click **Connect**.

<img src="/images/azure_devops_connect.png" alt="Azure DevOps Integration Connect Step" />

</Step>
<Step title="Select your repository scopes">
Select the repositories that you want Hacktron to have access to.

<img src="/images/azure_devops_select_repositories.png" alt="Azure DevOps Integration Select Repositories" />

</Step>
</Steps>

That's it! Hacktron will now run security reviews for every pull request in the selected repositories.

## Azure DevOps Server

Hacktron supports self-hosted Azure DevOps Server through the same Personal
Access Token flow described above. The only difference is one extra step when
you connect.

Follow the same **Configure access** steps to create a Personal Access Token
with the same scopes on your Azure DevOps Server instance.

When you open the **Connect Azure DevOps** modal in Hacktron, select **Azure
DevOps Server** and enter your instance's base URL and organization (e.g.
`https://azuredevops.example.com/DefaultCollection`) as well.

<Note>
Self-hosted prerequisites: - Your Azure DevOps Server instance must be
reachable from Hacktron over HTTPS with a valid TLS certificate. - The token
must carry the same scopes listed above on your Azure DevOps Server instance.
</Note>