AI Automation

ARTEX: Open-Source AI Agent Built for Automated Penetration Testing

GitHub hosts a source-only backup of ARTEX, an AI penetration testing system described as a champion entry in Baidu's agent+ attack-defense challenge, with strict usage limits.

Illustration of an AI agent network mapping digital assets and connections on a cybersecurity dashboard
Photo: GitHub

A project repository on GitHub is drawing attention to ARTEX, an autonomous penetration testing system built around large language model agents. The repository, published under the mhtsec account, describes the software as the champion entry in Baidu's "agent+" attack-defense challenge. It now serves as a final source-only backup, and the original Docker image has been removed from its earlier location, so the maintainers have moved distribution to their own accounts.

A final source-only backup

According to the GitHub README, the repository preserves the last version of ARTEX as pure source code. The original Docker image, which was published under a different namespace on Docker Hub, is no longer available. The maintainers now host a replacement image themselves. Users who cannot pull that image are told they can build the system locally from the source, without relying on external prebuilt components.

The repository does not host binary downloads. The README says that if the original release files on the upstream project also disappear, readers should use the source build route instead. For a tool of this kind, that distinction matters, because a reader who downloads an unofficial binary cannot easily verify what it contains.

How the system is designed

ARTEX is described as a multi-agent system driven by large language models. Its backend is written in Go and embeds a Next.js web interface, with PostgreSQL as the database. The agent capabilities come from a separate software development kit called norma, which provides components for agent sessions, tools, permissions and memory.

The central idea is what the authors call a dual-graph architecture. Two linked maps track different kinds of information. The design separates shared knowledge about targets from the working history of each individual task, which the authors say helps keep results consistent across projects.

The asset graph

The asset graph is shared across all tasks and acts as a single record of targets. It holds domains, subdomains, IP addresses, services, applications and endpoints, each linked to an organisation. The README states that the parent-child relationships and deduplication keys are calculated by the program itself, so the AI agents only submit raw observations.

The exploration graph

The exploration graph is created separately for each task. It records goals, intentions, facts, findings and hints, and connects them through relationships that show which lines of inquiry grew out of which facts. Anchor links tie these nodes to specific assets in the asset graph, so a user can see which assets a given line of work touched and which earlier results shaped it.

Coordination between agents

The README highlights two mechanisms that it says make the system more autonomous. The first allows worker agents to search through the execution traces of other workers within the same task. A worker can check what another worker observed along the way, even when that observation has not yet been recorded as a formal finding. Each worker still handles only the item assigned to it.

The second mechanism is a shared to-do list kept by the planning agent across multiple wake-ups. The planner is event-driven, and each wake-up starts a fresh session, so the shared list lets it record a multi-step sequence once and then issue follow-up tasks only after their prerequisites are met. The authors argue that this prevents sequences from running out of order or repeating work. These claims come from the project's own documentation and have not been independently tested in this article.

Licensing and usage restrictions

The project is released under the GNU Affero General Public License v3.0. The license allows anyone to use, modify and redistribute the software, but derivative works must be released under the same terms. Anyone who modifies the software and offers it to users over a network must also make the corresponding source code available to those users.

The README adds conditions that go beyond the license. It states that ARTEX is intended only for personal study, code research and local technical validation. It explicitly prohibits using the tool to scan, probe or attack any online website, service or networked system, regardless of whether the user has authorisation. The README also places legal responsibility on users under applicable cybersecurity, data protection and computer crime laws, and it disclaims liability for losses, as the software is provided as is. The repository says a demonstration version runs on simulated data.

Why it matters

Tools that use AI agents to automate security testing are an active area of development, and they raise a familiar dual-use question. The same techniques that help defenders find weaknesses can also lower the effort required for attackers. By publishing strict use conditions alongside the code, the maintainers signal awareness of that risk, but a license and a README cannot control how the software is used once it is downloaded.

For readers in the security field, the project offers a concrete example of how agent systems can be organised around shared asset records and per-task reasoning. For everyone else, the story is a reminder that open-source AI tools often arrive with claims that are difficult to verify from the outside, and that competition wins and architectural descriptions are best read as the authors' own account.

The repository's future depends on whether the maintainers keep their replacement Docker image and source backup available. Readers who want to follow the project should check the repository directly for updates, and should treat any tool of this kind as something to be used only within the limits its authors set.

Source: GitHub

Comments (0)