Agentic BAS

Updated at:

Enterprises deploy extensive security protection but rarely have a continuous way to prove that the protection actually works. Agentic BAS uses multi-agent collaboration to automatically simulate real attacks, continuously validates the effectiveness of your security system 24/7, and drives security system construction and security operations efficiency at low operating cost. This topic describes how to create Agentic BAS tasks, configure access credentials and the maximum Credits usage, view and verify vulnerabilities, and billing.

What is Agentic BAS

Agentic BAS is an intelligent intrusion attack simulation service provided by Security Center. Based on multi-agent collaboration, it focuses on validating the effectiveness of your security system, continuously assesses the mitigation capabilities of that system by intelligent means, and drives security system construction and security operations efficiency. The feature provides the following core capabilities:

  • Multi-Agent Human-Like Role Collaboration: Multiple AI agents divide the work and simulate the penetration paths and attack techniques of real attackers.

  • Autonomous reasoning and decision-making: Agents adjust attack strategies dynamically based on the target environment, without relying on a fixed rule library.

  • 24/7 continuous validation: Supports immediate execution or timed scheduling to continuously cover security blind spots.

  • Cost-Effective, Secure, and Stable Operations: The pay-as-you-go billing method for Credits significantly reduces validation costs compared with traditional manual penetration testing.

Scope

  • Asset authorization: The target assets to be tested must be IP addresses or domain names that you are legally authorized to test.

  • Supported target assets:

    • Security Center Assets: Assets managed by Security Center (ECS instances that have a public IP address). You can view the connected ECS assets in the left-side navigation pane under Asset Center > Host.

    • Attack Surface Assets: Assets discovered by Attack Management scanning and inventoried as Attributed assets. Attack Management must be enabled. If the service is not enabled, this asset pool is not visible and no IP addresses or domain names appear in the list. The discovery and attribution process is described in Attack surface management.

    • Custom Assets: Domain names only, without http://, https://, port numbers, or paths. The domain name must pass domain verification before you can assign a task to it.

  • Supported vulnerability detection types:

    Vulnerability type

    Description

    Unauthorized Access

    Detects privilege escalation or unauthorized access vulnerabilities in the system.

    Cross-Site Scripting (XSS)

    Injects malicious scripts to steal user data.

    SQL Injection

    Detects SQL injection vulnerabilities.

    Cross-Site Request Forgery (CSRF)

    Forges user requests to perform unauthorized operations.

    Common Vulnerabilities

    Detects other common web security vulnerabilities.

Purchase and activate Agentic BAS

  1. Access the Security Center console - Risk Governance - Agentic BAS. In the upper-left corner of the page, select the region of your assets: Chinese Mainland or Outside Chinese Mainland.

  2. Click Buy Now to go to the purchase page.

    You can also go directly to the purchase page to make the purchase.

  3. On the purchase page, select the Subscription duration, click Buy Now, and complete the payment.

  4. Return to the Agentic BAS homepage. In the Credits Used / Remaining section, you can view Plan Credits.

    After the purchase, you receive 1,000,000 Credits by default, which expire monthly. When the included Credits are used up, pay-as-you-go billing for Credits is enabled automatically, as described in the billing rules of this topic.

Add allowlist

If Web Application Firewall (WAF), Cloud Firewall, or another security access control policy is deployed in your network environment, add the scanner IP address to the access allowlist of the target server to prevent scan requests from being blocked.

  • Outside Chinese Mainland: 8.219.211.171

  • Chinese Mainland: 8.133.212.119, 121.40.209.82

Create a Agentic BAS task

  1. Access the Security Center console - Risk Governance - Agentic BAS. In the upper-left corner of the page, select the region of your assets: Chinese Mainland or Outside Chinese Mainland.

  2. In the upper-right corner of the page, click Create Penetration Test Task.

  3. In the Create Penetration Test Task panel, configure the following parameters.

    Parameter

    Description

    Task Name

    A custom task name of up to 128 characters.

    Task Description

    Additional notes about this penetration test, up to 1,000 characters.

    Select Vulnerabilities

    Select the vulnerability types to detect. You can select multiple types. The available types include: Unauthorized Access, Cross-Site Scripting (XSS), SQL Injection, Cross-Site Request Forgery (CSRF), Common Vulnerabilities.

    Penetration Requirements

    Describe additional penetration testing requirements or areas of focus in natural language.

    Target Selection

    Select the source of the detection targets. The following three sources are supported:

    • Security Center Assets: Security Center managed assets (ECS instances with public IP addresses). You can view the connected ECS assets under Asset Center > Host on the left.

    • Attack Surface Assets: Attack Management assets that have been discovered by attack surface scanning and inventoried (Attributed). For more information, see Border Asset Discovery.

    • Custom Assets: Only domain names are supported, excluding http://, https://, ports, or paths. Click the image on the right side of the custom asset input box, enter the domain name, and complete the verification. For more information, see Advanced configuration - Configure custom assets.

    Access Credentials (optional)

    Used for login authentication and privilege escalation testing. You can configure credentials for identities that have different permissions to keep the penetration test thorough, as described in Advanced configuration - Configure access credentials.

    Note

    If you do not add credential information, the penetration task runs without identity authentication.

    Max Credits Usage (optional)

    After you enable this parameter, the task stops automatically when the Credits usage exceeds the configured maximum, and a report is generated based on the findings already detected. Drag the slider (range 0 to 5,000,000, default 500) or enter the value directly.

    Note

    Credits usage differs by execution stage, so actual consumption may slightly exceed the configured maximum Credits usage.

    Execution Mode

    Select how the task runs:

    • Run Now: starts the penetration test immediately after the task is created.

    • Run Once on Schedule: starts the penetration test once automatically at the specified time.

    Execution Time

    Required when you select Run Once on Schedule. The execution time cannot be earlier than the current time.

  4. After you confirm that the configuration is correct, click OK. A Agentic BAS task takes a long time to run and may exceed 1 hour. Please wait patiently.

    Important

    If a task runs for more than 12 hours, the system automatically stops the task and changes the task status to Timeout. The scanned data is retained, and the consumed Credits are not refunded.

Handle and verify vulnerabilities

View and handle vulnerabilities

  1. In the task list, click the target task name, or click Details in the Actions column.

  2. On the Vulnerabilities tab, view the list of vulnerabilities that the current task detected.

  3. In the Actions column of a vulnerability, click Download Report to download the vulnerability details, such as the endpoint, discovery time, vulnerability discovery process, and remediation plan.

  4. Fix the vulnerability manually based on the remediation plan in the report.

Note

Agentic BAS does not support fixing vulnerabilities directly in the console.

Verify vulnerability remediation

After you complete the manual fix, return to the vulnerability list to verify whether the vulnerability is fully fixed.

Important

Each verification consumes Credits, and the consumption is metered separately from the Credits consumed by task execution. If a Not Exploitable result is caused by a network error, a temporary interruption, or another factor that prevents complete verification, the Credits already consumed are not refunded.

Trigger verification

  1. In the task list, click the target task name, or click Details in the Actions column.

  2. On the Vulnerabilities tab, click Verify in the Actions column of the target vulnerability.

  3. On the verification details page, click Verify in the upper-right corner.

    The vulnerability effectiveness changes to Verifying, the agents start reproduction verification, and verification logs are written in real time.

Verification results

After verification completes, a record is added to Verification History, and the Credits consumed are added to the total verification consumption of the vulnerability. The verification statuses are as follows:

  • Exploitable: the verification process ran without errors, the vulnerability is reproducible and exploitable, and the verification result is written to the log.

  • Not Exploitable: the vulnerability is fixed or isolated after verification and cannot be reproduced. Use the verification log to further confirm the fix result.

Confirm the fix result and keep the logs

  1. In the CONSOLE output box in the Verification Logs section, view the verification process log. The fix result is usually printed on the last line, for example, Retest conclusion ### Vulnerability status: Vulnerable, which indicates that the vulnerability can still be reproduced.

  2. To keep a local copy of the log, click Download Logs in the upper-right corner of the CONSOLE output box in the Verification Logs section.

View or download the Agentic BAS Report

  1. In the task list, click the target task name, or click Details in the Actions column.

  2. On the Agentic BAS Report tab, view the report online. To save the report locally, click Download Report in the upper-right corner.

Manage Agentic BAS tasks

  • Manage a single task: In the task list, click the image icon in the Actions column of the target task to perform the following operations:

    Operation

    Applicable task status

    Description

    Start

    To Be Started

    Runs the current task immediately.

    Stop

    Running

    Stops the running Agentic BAS task. A stopped task cannot be resumed. You must create a new task.

    Delete

    Not running

    Deletes the Agentic BAS task and its result data. The deletion cannot be undone.

  • Batch operations: Select multiple tasks that have the same status and perform batch operations.

    1. On the Agentic BAS task list page, select multiple tasks that have the same status.

    2. In the lower-right corner of the list, click Start, Stop, or Delete.

      A batch operation applies only to tasks that have the same status.

View Credits consumption

View task consumption

  • View the consumption of a single task:

    1. In the task list, click the target task name, or click Details in the Actions column.

    2. In the Task Overview section of the Task Details tab, view Credits Consumed.

  • View the overall consumption: In the Credits Used / Remaining section of the Agentic BAS homepage, view the consumption percentage and the remaining amount of Plan Credits.

View vulnerability verification consumption

The Credits consumed by vulnerability verification are metered separately from the Credits consumed by task execution.

  1. In the task list, click the target task name, or click Details in the Actions column.

  2. On the Vulnerabilities tab, click Verify in the Actions column of the target vulnerability to go to the verification details page.

  3. In the Verification Records section, view Total Credits Consumed.

    You can also view the total verification consumption in the Credits Used for Verification column of the vulnerability list page.

  4. In the Verification History section, view the Credits Consumed of each single verification below the corresponding record.

Advanced configuration (optional)

Configure custom assets

To run a penetration test on a custom asset, enter the domain name manually and complete domain verification. After verification succeeds, the asset enters the custom asset library, and you can assign tasks to it repeatedly.

  1. In the Target Selection section of the Create Penetration Test Task panel, on the Custom Assets tab, click the image icon on the right side of the custom asset field.

  2. In the Create Custom Asset and Verify panel, enter the domain name of the asset to be verified and click Generate Verification Info.

    Note

    Enter only the domain name, without http://, https://, port numbers, or paths.

  3. Configure domain verification. Both DNS TXT Verification and File Verification are supported. Follow the procedure of the method that you choose in the following tabs. The generated verification information has an expiration time. Complete the verification before it expires.

    Note

    If the verification information has expired, click Regenerate and use the new verification information to complete domain verification.

DNS TXT Verification

Procedure

  1. Log on to the domain name resolution website: find the entry for domain name resolution, DNS resolution, or resolution records, and then select the domain name that you want to verify. If the resolution of the domain name is hosted in Alibaba Cloud DNS, log on to the Alibaba Cloud DNS console instead. If you cannot find the entry, contact your domain name administrator.

  2. Create and complete a TXT record: on the Add Record or Add Resolution page, complete each field based on the Record Type (TXT), Hostname / Name, and Record Value that the console provides. For a field-by-field example, see the DNS configuration example in this tab.

  3. Save the record and wait for it to take effect: click OK or Save, and retain this record.

    Note

    DNS resolution does not take effect immediately. The wait time depends on the DNS service provider and the TTL configuration.

  4. After the record takes effect, return to the Create Custom Asset and Verify panel and click Verify and Save Asset.

DNS configuration example

This example uses a domain name whose resolution is hosted in Alibaba Cloud DNS. If your domain name resolution is hosted with another DNS service provider, add the record with the same parameters on the resolution settings page of that provider.

  1. Use the Alibaba Cloud account of the domain name owner to log on to the Alibaba Cloud DNS console .

    In the domain name list, find the target domain name and click Settings in the Actions column to go to the resolution settings page.

  2. On the resolution settings page, click Add Record and complete the following fields.

    Parameter

    Description

    Type

    Select TXT.

    Host Record

    Paste the Hostname / Name that the Create Custom Asset and Verify panel provides.

    Record Value

    Paste the Record Value that the Create Custom Asset and Verify panel provides.

    Keep other parameters, such as the resolution request source and TTL, at their default values.

  3. After you complete all fields, click OK.

File Verification

Procedure

Important

The Upload Path / File Name, File Content, and Verification URL values that the Create Custom Asset and Verify panel provides are the single source of truth. Every path in this tab is an example only. If an example differs from the values in the panel, follow the panel.

  1. Download or create the verification file: Click Download Verification File to save the file locally. You can also create the file manually based on the Upload Path / File Name and File Content that the console provides.

    Important

    The file name and file content must be exactly the same as the content that the console provides. Do not rename the file, add or delete content, or add spaces.

  2. Create the directory path: Log on to your web server, object storage, or website management backend. Then create the directory path .well-known/pki-validation/ under the web root directory, as specified in the File Content field. If the path already exists, skip this step.

  3. Place the file: Upload the verification file to the path that corresponds to the Upload Path / File Name value in the panel. For an end-to-end example that uses Nginx (Linux) deployed on an Alibaba Cloud ECS instance, see the file upload configuration example in this tab.

  4. Check the verification URL in a browser: Copy the Verification URL that the console provides and open it in an incognito browser window.

    Important

    You must be able to see the verification file content without logging on. If a 404 error, a 403 error, a logon page, or a redirect page appears, adjust the file location or the access permissions first.

  5. After you confirm that the content displayed in the browser is exactly the same as the File Content that the console provides, click Verify and Save Asset.

    Important

    Do not delete or modify the file before the verification succeeds. Otherwise, the verification may fail.

File upload configuration example

This example uses Nginx (Linux) deployed on an Alibaba Cloud Elastic Compute Service (ECS) instance. If your website is deployed on another server or in object storage, place the file at the location that corresponds to the Upload Path / File Name value in the same way.

  1. Connect to the ECS instance. For more information, see Connect to an ECS instance.

  2. Create the directory: run the following commands in sequence to create the directory level by level under the web root directory of the server (/var/www/html/ by default for Nginx), based on the Upload Path / File Name value that the Create Custom Asset and Verify panel provides. If the directory already exists, skip this step. The following commands use .well-known/pki-validation/ as an example path. Replace it with the path that the panel provides.

    cd /var/www/html mkdir -p.well-known/pki-validation
  3. Upload the verification file: you can use the file upload feature of a remote logon tool such as WinSCP or Xshell to upload the verification file to the directory created in the previous step, as described in Upload files.

  4. Open the Verification URL that the panel provides in an incognito browser window and confirm that you can access the verification file content directly. The URL combines the verification path with the file name, for example, https://domain-name/.well-known/aibas-site-verification/file-name.txt. Always open the URL exactly as the panel provides it.

Configure access credentials

To use login authentication and privilege escalation testing, configure access credentials for identities that have different permissions to keep the penetration test thorough. Each identity requires only one type of access credential. If you switch the credential type, only the currently selected credential is submitted. Complete the following sections in order: select a credential type, get the credential content for the type that you selected, and then enter the identity information and the credential content in the Create Penetration Test Task panel.

Credential type selection

Select the credential type based on how users log on to the target site.

Credential type

Scenario

Common location

Username/Password

The site supports authentication through a standard logon form.

Provided by the owner of the test account.

Cookie

You are already logged on in a browser or a proxy tool and want to reuse the logon state directly.

Browser DevTools, Burp, curl.

Local Storage

The token or identity information is persisted in the local storage of the browser.

DevTools > Application > Local Storage.

Session Storage

The token is stored only in the current browser session.

DevTools > Application > Session Storage.

Additional Headers (Advanced)

The site passes the token, tenant, or identity information in fixed request headers.

DevTools > Network > Request Headers.

Configuration recommendations

  • Use temporary credentials that have the least privilege and can be revoked at any time. Do not use your personal day-to-day account or a high-privilege production account.

  • Immediately after the test finishes, disable the temporary account, rotate the password, or revoke the token, and clear logon states that are no longer needed.

  • Multi-identity and privilege escalation testing: to run horizontal or vertical privilege escalation tests, prepare at least two temporary identities that have different permissions. For example:

    • Regular user A: standard business permissions.

    • Regular user B: a data scope that differs from that of user A, used for horizontal privilege escalation checks.

    • Administrator: used to compare the behavior of high-privilege and low-privilege identities.

Note

If a logon state depends on multiple types of client-side data, select the primary credential type that can restore the logon state independently. Each identity currently submits only one credential type.

Get the credential content

The location of the credential content differs by credential type. Log on to the target site with an authorized test account first, and then get the corresponding content based on the selected credential type.

Account and password

For Username/Password, the owner of the test account provides an authorized test account. You must enter both the account and the password. Use a low-risk temporary test account that has the least privilege and can be disabled at any time. Do not enter a high-privilege production account.

If the logon process depends on a manual CAPTCHA, multi-factor authentication, or another interactive operation, log on in a browser first, and then use Cookie, Local Storage, or Session Storage to reuse the existing logon state.

Cookie
  1. Log on to the target site with the test account.

  2. Open the developer tools of the browser.

  3. In Network, select a request that is already authenticated and find Cookie in Request Headers. You can also view the existing cookies of the site in Application > Cookies.

  4. Copy the cookie text. The following formats are common:

    • Single-line cookie:

      Cookie: SESSION=abc123; tenant_id=tenant-a
    • Set-Cookie text with attributes:

      Set-Cookie: SESSION=abc123; Domain=.example.com; Path=/; Secure; HttpOnly; SameSite=Lax
    • Multiple groups, one group per line:

      Cookie: SESSION=abc123; tenant_id=tenant-a Cookie: locale=zh-CN
  5. Make sure that the copied cookie text meets the following format requirements:

    • Use= between the cookie name and the cookie value, and separate multiple cookies with a semicolon (;).

    • You can keep theCookie: or Set-Cookie: prefix.

    • TheDomain, Path, SameSite, Secure, and HttpOnly attributes are recognized.

    • Paste only the cookie or Set-Cookie text. Do not paste the complete HTTP request.

Note

Cookies have a validity period. If the logon state cannot be kept while the task runs, log on again and get the latest cookie.

Local Storage
  1. Log on to the target site with the test account.

  2. Open the developer tools of the browser and go to Application > Local Storage.

  3. Select the origin that corresponds to the target site.

  4. Copy each authentication-related key and value and enter them in the Key/Value fields of the credential. Example:

    Key

    Value (example)

    auth_token

    <temporary-token>

    user_profile

    {"role":"viewer"}

Session Storage

Session storage is usually bound to the current session. After you log on again, close the session, or the credential expires, the original values may be invalid and you must get them again.

  1. Log on to the target site with the test account and keep the session of the current tab valid.

  2. Open the developer tools of the browser and go to Application > Session Storage.

  3. Select the origin that corresponds to the target site.

  4. Copy each authentication-related key and value. The entry method is the same as for Local Storage.

Additional headers
  1. Log on to the target site with the test account.

  2. Open the developer tools of the browser and go to Network.

  3. Select an authenticated request and confirm the fixed request headers that are used for authentication or tenant identification in Request Headers. Entry example:

    Key

    Value (example)

    Authorization

    Bearer <temporary-token>

    X-Tenant-Id

    tenant-a

Important

Enter fixed headers only. Dynamic signature fields such as timestamps, nonces, one-time tokens, and request body digests are generated by the site itself. Do not enter them as fixed headers.

Configuration steps

  1. In the Create Penetration Test Task panel, click Add Identity in the Access Credentials section to configure access credentials for identities that have different permissions.

  2. In the Add Credential dialog box, configure the following parameters and click Save Identity.

    Parameter

    Description

    Identity Name

    Required. A custom identity name, such as administrator, regular user, or test user. The name supports up to 32 characters and must be unique within the same task.

    Identity Description

    Optional. Additional description of the permission characteristics of the identity, such as "an authorized test identity that has read-only permissions". The description supports up to 200 characters.

    Select Credential Type

    Required. Select one of the following five credential types:Username/Password, Cookie, Local Storage, Session Storage, and Additional Headers (Advanced). For selection guidance, see Credential type selection.

    Credential content

    Enter the credential information based on the selected credential type. The methods to get each type of credential and the entry requirements are described in Get the credential content.

  3. To configure multiple identities, click Add Identity again and continue to add identities.

Common validation prompts and how to handle them

Prompt or symptom

How to handle it

The identity name already exists

Change the name to one that is unique within the same task.

No valid cookie is parsed

Check thename=value format and the semicolon separators. Add the Cookie: prefix and try again.

Enter at least one valid key-value pair

Check whether the keys and values of Local Storage, Session Storage, or Headers are complete.

The task still runs as an unauthenticated user

Check whether the credential has expired, whether the cookie domain and path match, whether the storage type and origin are correct, and whether the key uses consistent capitalization.

Tenant or business permissions are still missing after logon

Check whether a fixed tenant header is also required, or whether the current test account has the target permissions.

Billing

Billing items

Agentic BAS uses a hybrid billing model that combines a base service subscription with pay-as-you-go Credits consumption.

Note

Each penetration testing task consumes a certain number of Credits based on its complexity. For estimates, see the usage reference section below.

Billing item

Billing method

Description

Base service subscription fee

Subscription

CNY 36,800 per month

Important

After you activate the service, 1,000,000 Credits are granted in advance and expire monthly. After the granted quota is used up, you are charged for the actual number of Credits consumed based on the pay-as-you-go billing method.

Excess Credits

Pay-as-you-go

CNY 0.015 per Credit

Usage reference

In web penetration testing scenarios, Credits consumption depends on factors such as the scale of the web endpoints, the business complexity, and the security status. The following Credits estimates are for reference only. The actual Credits usage is based on the statistics collected after the penetration task finishes. You can check the actual usage as described in View Credits consumption. Use the tier that matches your target to set the Max Credits Usage value of a task.

Tier

Number of sub-links

Client-side JavaScript code volume

Credits usage reference

Small

< 20

< 150 lines / < 50 KB

50,000 to 350,000

Medium

20 to 50

150 to 3,000 lines / 50 to 300 KB

150,000 to 750,000

Large

> 50

> 3,000 lines / > 300 KB

500,000 to 3,000,000

Expiration or unsubscription

After the service expires or is unsubscribed from, all Agentic BAS features stop immediately, and pay-as-you-go billing for excess Credits also stops. The specific impacts are as follows:

  • Features disabled: You cannot create new Agentic BAS tasks, and existing tasks will stop running.

  • Billing stops: Pay-as-you-go billing for excess Credits terminates immediately, and no new post-paid bills will be generated.

Expiration

  • Expiration reminder: Seven days before the service expires, the system sends expiration reminders by SMS and email. To avoid service interruption, renew the service promptly in the Expenses and Costs console.

  • Credits handling:

    • After the service expires, the 1,000,000 Credits granted with the plan are automatically cleared. They cannot be extended or transferred, and Credits that are not consumed before expiration are not refunded.

    • Fees for excess Credits that are generated on the expiration date appear in a pay-as-you-go bill on the next day.

  • Data cleanup: After the service expires, penetration task data is retained for 15 days. After 15 days, the instance is released and historical data is permanently deleted. If you repurchase the service within 15 days, historical penetration task data can be restored. If you do not renew within 15 days, the data will be permanently deleted and cannot be recovered.

Unsubscription

Agentic BAS does not support unsubscription. If you need to unsubscribe, contact your account manager to unsubscribe manually.

FAQ

  • Does turning off the elastic protection switch in Security Center affect Agentic BAS pay-as-you-go billing?

    No. After the Credits of Agentic BAS are used up, pay-as-you-go billing is enabled automatically. This is independent billing logic and is not controlled by the elastic protection switch.

  • Does Agentic BAS support disabling the pay-as-you-go Credits mode separately?

    No.

  • How long does a Agentic BAS task take to run?

    A single task usually takes a long time to run and may exceed 1 hour. The exact duration depends on the scale, business complexity, and security status of the penetration target. After the task finishes, view the results on the task details page.

  • Does a Agentic BAS scan affect my business?

    Agentic BAS uses a non-destructive detection method and does not cause destructive impacts on the normal operation of the target system. However, if WAF, Cloud Firewall, or another security policy is deployed in the network environment, add the scanner IP address to the allowlist in advance to prevent scan requests from being blocked, which would affect the penetration testing results.

  • What do I do if the granted Credits are not enough?

    After the 1,000,000 granted Credits are used up, the system enables the pay-as-you-go Credits mode automatically. No manual activation is required, and the service is not interrupted. You can view the Credits consumption on the Agentic BAS homepage.

  • Can I fix an issue directly after a penetration test finds it?

    No. Agentic BAS provides only vulnerability detection and report download. Fix issues manually based on the remediation plan in the report.