安全软件
点击放大


<p align="center">
<img src="logo.png" alt="AKCA logo" width="320">
</p>
<h1 align="center">AKCA</h1>
<p align="center"><strong>Ad Web Security Scanner</strong></p>
<p align="center">Disco. Test web applications. Inspect the e.</p>
<p align="center">
<a href=" src=" alt="CI"></a>
<a href=" src=" alt=" v0.2.7"></a>
<a href=" src=" alt="Go 1.25 or newer"></a>
<a href="LICENSE"><img src=" alt="Apache License 2.0"></a>
</p>
<p align="center">
<a href="#installation">Installation</a> ·
<a href="#usage">Usage</a> ·
<a href="#how-akca-works">Workflow</a> ·
<a href="#scan-profiles">Profiles</a> ·
<a href="#security-testing-co">Co</a> ·
<a href="#reports">Reports</a> ·
<a href="#support-the-mission">Support</a> ·
<a href="FEATURES.md">Features</a> ·
<a href="CHANGELOG.md">Changelog</a>
</p>
AKCA is an open-source, e Dynamic Application Security Testing (DAST) scanner written in Go. It combines HTTP and browser-assisted crawling, Ja analysis, API imports, adapti testing, passi, and replayable e in one command-line workflow.
Many scanners crawl an application and then send a broad payload set to every discovered endpoint. That strategy can create unnecessary traffic, trigger defensi, and produce weak signals that require substantial manual triage. AKCA takes a more contextual approach: it first learns about the target, models the discovered attack surface, and then selects tests according to the technology stack, parameters, authentication state, WAF behavior, and a capabilities.
AKCA is designed to:
The goal is not to exhaust or o the target. It is to find real weaknesses with deliberate requests and useful e.
AKCA does not claim feature or detection parity with mature commercial platforms such as Acunetix, Invicti/Netsparker, or Burp Suite Professional. Those products are built by experienced teams over many years. AKCA is independently maintained by one de in a personal time, inspired by established security tools and shaped by original ideas and community feedback. The current priority is a simple, useful, and transparent scanner. A graphical interface is planned when the engine is sufficiently stable and dependable.
<p align="center">
<img src="docs/assets/scanner.png" alt="AKCA scanner running against a local security testing lab" width="760">
<br>
<sub>AKCA v0.2.7 scan session with li status, resource telemetry, and confirmed findings.</sub>
</p>
Requires Go 1.25 or newer.
installs the newest tagged release, not an untagged commit on main. To test the current de branch, use . If an older binary still runs, compare command -v akca with go en (or $(go en)/bin) and refresh the shell command cache with hash -r. akca -- prints the embedded release build commit/date when a.
<details>
<summary>Command not found? Configure your PATH.</summary>
For the default Go installation, add the Go binary directory to your current terminal's PATH.
Linux / macOS
Add that line to your shell configuration to keep it across sessions.
Windows PowerShell
For future sessions, add the same directory to your user Path en . If you configured GOBIN, use that directory instead.
</details>
Download your build from GitHub Releases. Releases include SHA256SUMS.txt and GitHub build-pro attestations. a downloaded binary with gh attestation <binary> -R akha-security/akca.
| Platform | Architecture | Asset |
| --- | --- | --- |
| Linux | x64 / ARM64 | akca-linux-amd64 / akca-linux-arm64 |
| macOS | Intel / Apple Silicon | akca-darwin-amd64 / akca-darwin-arm64 |
| Windows | x64 | akca-windows-amd64.exe |
On Linux or macOS, make the downloaded file executable. For Linux x64:
On Windows, rename the download to akca.exe and run .\akca.exe --help in PowerShell. The examples below assume akca is a on your PATH.
Browser-backed checks require Chrome, Chromium, or Edge.
Use AKCA only on systems you own or ha to test. Replace the example URL with your authorized target.
The default profile is full. To save an HTML report:
Run SQL injection, XSS, and ser injection checks, including SSTI:
Run passi:
Passi still send requests for discovery and inspection.
Supply a session cookie:
Or an authorization header:
Some authorization checks require additional identities or state configuration beyond a single session.
Discovery supports OpenAPI/Swagger, RAML, Postman, HAR, GraphQL, WSDL, protobuf, and AsyncAPI inputs, including supported ZIP bundles. Testing co depends on the imported protocol and operation.
Run akca --help for all a options.
Use akca -h for concise e help, or akca --help for the complete option reference. Scan targets must be supplied explicitly with -u or --url.
Select a profile with -m, or combine several with commas.
| Profile | Checks |
| --- | --- |
| full | All enabled active and passi; the default |
| sql | SQL and NoSQL injection |
| xss | Reflected, stored, DOM, and blind XSS; related client-side checks |
| rce | Command injection, SSTI, deserialization, and related checks |
| api | API exposure, BOLA/IDOR, BFLA, mass assignment, and token checks |
| graphql | GraphQL schema and operation checks |
| ssrf | SSRF, XXE, and related out-of-band checks |
| auth | Authentication, authorization, CSRF, and cookie/header checks |
| passive | Metadata, TLS, security headers, secrets, and component analysis |
| fuzz | Paths, exposed artifacts, tra, and related checks |
Execution depends on discovered endpoints, configuration, a capabilities, and scan limits. See FEATURES.md for the full capability guide.
AKCA uses a staged pipeline so later checks can benefit from facts learned earlier:
1. Fingerprint and calibrate — identify technologies, ser, WAF signals, TLS posture, and safe request pacing.
2. Discover the attack surface — combine HTTP crawling, a persistent browser session, Ja analysis, API definitions, path fuzzing, parameter discovery, and 403 bypass obser.
3. Model test candidates — group endpoints by method, content type, parameters, authentication context, and likely class.
4. Plan adapti — prioritize relevant payload families, preserve work for later endpoints, and apply target-aware encoding or pacing when defensi is observed.
5. signals — compare baselines and controls, replay promising results, inspect state or identity changes, and correlate OAST callbacks where required.
6. Produce e — export findings with Burp-style HTTP transactions, payloads, classifications, confidence, proof status, and reproduction guidance.
Co is explicit. A skipped, failed, budget-limited, or unfinished target is recorded as incomplete co; it is not silently treated as a clean security result.
The following list describes implemented discovery engines and security-test families. Indi checks run only when the discovered surface, scan profile, configuration, safety policy, and prerequisites make them applicable. A listed capability is not a guarantee that every of a will be detected.
<details>
<summary><strong>1. Discovery, crawling, and analysis engines</strong></summary>
</details>
<details>
<summary><strong>2. Injection and code-execution testing</strong></summary>
</details>
<details>
<summary><strong>3. Authentication, authorization, and session security</strong></summary>
</details>
<details>
<summary><strong>4. Client-side and web-protocol security</strong></summary>
</details>
<details>
<summary><strong>5. Information disclosure and exposed resources</strong></summary>
</details>
<details>
<summary><strong>6. Business logic and security posture</strong></summary>
</details>
Set a total request budget and maximum duration:
Or calculate the module budget from discovered URL/method combinations:
Full Scan has no implicit post-discovery module budget. When an operator explicitly sets a positi, AKCA distributes it across modules, URLs, and parameters, and unused allocations mo to later work. A positive --request-budget takes precedence over --requests-per-target.
| Option | Purpose |
| --- | --- |
| --request-budget 5000 | Cap total requests, including discovery, retries, and redirects |
| --requests-per-target 200 | Optionally derive a bounded module budget from discovered URL/method combinations; default 0 is unlimited |
| --crawler-budget 1500 | Limit discovery requests |
| --time-budget 30m | Limit scan duration |
| --rate-limit 5 | Limit requests per second |
| --concurrency 4 | Limit concurrent workers |
By default, crawl traffic is capped at 1,500 requests and 1,000 pages. The discovered endpoint in remains unlimited so distinct HTTP method such as GET and POST and hidden routes are retained. The module scan has no request quota. Budget interruptions are reported as incomplete co. Interrupted targets are not automatically resumed when later work returns unused budget. No budget setting guarantees detection of every .
Linked API/service subdomains are outside the default target scope. To include linked subdomains under the same root:
AKCA's default Full Scan is designed around co and e quality, not the shortest possible completion time. Its runtime is therefore not directly comparable to tools that stop after a shallow HTTP crawl or report a from a single response difference.
A comprehensive run may take longer because AKCA:
Scan duration also depends on application size, response latency, authentication flows, defensi, and the configured scope. For faster feedback, select only the relevant modules with -m or apply explicit crawl, request, and time budgets. Increase rate and concurrency only when the authorized target can safely handle the additional traffic. A shorter scan is not necessarily a more complete scan.
Choose an output format with -f and a file path with -o:
Supported formats: HTML, JSON, Markdown, CSV, and SARIF. Each in starts a new scan.
HTML reports are self-contained and include the AKCA logo, risk and se summaries, statistics, structured finding details, and expandable HTTP e. Request and response tabs support a combined view, full-content expansion, and copying. Where a finding preserves a matching response value, AKCA highlights it in yellow, helping you locate a reflected payload or exposed secret. Passi findings retain an excerpt around the match.
Depending on the module, findings include:
Timing findings, missing headers, and external callbacks may have no response text to highlight. Their context supplies the relevant e.
When the scanner stored a complete raw transaction, the report preserves it exactly. Older or structured-only e is rendered in a con Burp-style HTTP layout with a request line, ordered headers, a header/body separator, and standard HTTP response reason phrases. If the transport capture limit truncated a response, the report says so explicitly; it ne the stored portion as the una complete response.
Replay a stored finding:
Reports mask recognized credentials by default. Raw stored e is preserved for replay. Set redact_reports to false in scan configuration, or use redact=false on the report API, only when raw exports are needed. Review reports before sharing: automatic masking cannot recognize every application-specific secret.
The crawler retains one browser session throughout each crawl phase, including cookies and browser storage. It explores explicit non-form tabs and expandable panels; it does not auto-fill or submit forms. Browser requests still obey scope and request budgets. For required third-party static dependencies, exact hostnames may be configured separately:
This permits only GET/HEAD script, stylesheet, image, font and media requests to those hosts, stripping credential and custom headers. Successful in-scope HTML may also teach the browser up to 32 exact passi hosts found in resource tags or CSP; redirects, API calls and acti probes are ne this way. It does not add those hosts to the active scan scope. Blocked browser dependencies produce co events.
Discovered URLs are retained even when they cannot be . A crawl that exhausts its budget with queued work produces a partial scan and a nonzero CLI exit code. Module preflight messages distinguish missing identity/state policies from configured capabilities.
Unconfigured rate-limit checks produce obser, not findings. A configured threshold proof also requires window_seconds; if the requests do not fit inside that window, the check is inconclusive. SQLi does not treat a 400 response or arithmetic e alone as proof. New SQL errors in 400/422 responses must pass the replay and control path.
See CHANGELOG.md for release details.
AKCA does not accept sponsorships or personal donations. Code contributions, testing, documentation, and thoughtful feedback are always welcome.
Projeye maddi olarak destek olmak istiyorsanız, bana göndermek yerine Mehmetçik Vakfı, AFAD, Türk Kızılay veya Çocuk Hizmetleri Genel Müdürlüğü aracılığıyla desteklenen gü sosyal yardım çalışmalarından birine bağış yapmanızı rica ediyorum. Mümkünse bağışınızı kızım Akça Aktaş adına yapın. Bağıştan sonra X üzerinden hesabına mesaj göndermeniz beni gerçekten çok mutlu eder.
If you would like to support the project financially, please donate to a reputable charity in your country that helps children, disaster-affected communities, , or people in urgent need. When possible, make the donation in the name of my daughter, Akça Aktaş. You are welcome to share it with me on X at ; knowing that this project inspired a helpful act would mean a great deal to me.
Build from source:
On Windows, use -o ../akca.exe for the executable name.
Run checks from the engine directory:
The operational benchmark measures its obser. The complete-corpus gate additionally requires and safe/control fixtures for every runnable module and fails if a required browser, OAST, or authentication capability is skipped. For implementation details and limitations, read the architecture guide and audit.
Contributions are welcome. Read CONTRIBUTING.md and the Code of Conduct before opening a pull request. Report in AKCA through SECURITY.md.
Apache License 2.0 · Copyright 2026 AKHA Security contributors.
开发语言:Go
Star 数:224
该项目属于安全软件方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕AKCA Advanced Web Security Scanner展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | akca - AKCA Advanced Web Security Scanner |
| 所属分类 | 安全软件 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 22:39:45 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 505 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |