Reproduced from the suite's docs/guide/RESPONSIBLE-USE.md. Informational; not legal advice.
Responsible use and authorization
Purpose
The Feintkit suite exists to test defenses. It gives security products something realistic to detect and block, and it lets you check how your own AI agents behave when they meet known attack patterns. It is a defensive testing tool only.
The suite is released under the Apache License 2.0. The rules in this document are a request and a statement of intent, not conditions of that license: the license itself places no restriction on who may use the software or for what purpose. Responsible use is your decision and your responsibility.
This document is informational and is not legal advice. The full disclaimer is DISCLAIMER.md at the root of the suite. The licensor recommends that anyone who republishes or redistributes the suite obtain their own legal review.
You must be authorized
Run the suite only against systems, accounts, agents, and products that you own or that you have explicit written permission to test. Testing someone else's agent, service, or product without their permission is not covered by this project and may be unlawful. You are solely responsible for deciding whether a use is lawful and authorized, and the law differs between jurisdictions. If you test a product on behalf of an organization, get the organization's approval first and tell the people who monitor it.
What this suite does and does not do
- Every scenario simulates a known attack pattern. No scenario executes attacker-supplied code, reads real credentials, or sends network traffic anywhere except the local loopback interface (127.0.0.1 or ::1). A static checker (
feintkit-guard) enforces this on the source, and every exception is declared in the source with a written reason. - Injected instructions are benign. The only instruction a scenario places in front of an agent is to emit a harmless acknowledgement token. Nothing asks an agent to do harm.
- Every artifact a scenario produces carries a marker string so it is easy to identify and to search for (see MARKERS.md). Artifacts are written under the operating system's temporary directory unless you choose another location with
--out-dir. - A scenario may show a local notification on your desktop. That is expected and visible proof that the scenario ran.
- The suite is ordinary software: running it runs Node.js code on your machine. Read what you run.
- The suite cannot observe your security product. Detection results are only what you record yourself.
Prohibited uses
- Running any scenario against a system, account, agent, or service you are not authorized to test.
- Modifying a scenario to add real payloads, real credential access, real command execution, or real exfiltration, or redistributing such a modification as part of this suite.
- Using the marker strings or the scenarios to impersonate legitimate tooling, to deceive people, or to collect data that is not yours.
- Pointing an agent that has access to real sensitive tools at a scenario without first removing or restricting those tools (see Safe operation).
No warranty and limits of liability
- The suite is provided "AS IS", without warranty of any kind. This restates section 7 of the Apache License 2.0, which controls.
- Detecting or missing a scenario is not a guarantee that a product is secure or defective. The framework mappings are best-effort and may be partial or out of date.
- To the maximum extent permitted by applicable law, the author and contributors are not liable for damages, losses, or misuse arising from the suite. This restates section 8 of the Apache License 2.0, which controls.
- The suite is independent. No vendor, product, or standards body that it names endorses it or is affiliated with it, and their names belong to their owners.
- If part of this section is invalid where you are, the rest still applies to the extent it can. This section makes no claim about enforceability.
Safe operation
- Try scenarios first in a disposable environment such as a virtual machine or a throwaway user account.
- When you test your own agent, disconnect tools that can reach real data or real accounts. An injected instruction is benign, but an agent that follows instructions it should not follow might also use other tools it has been given; that is exactly what the test may reveal, so limit what those tools can reach.
- Keep artifacts in a known place with
--out-dir, and remove them withfeintkit clean --allwhen you are done. - Run the suite's own checks (
npm test) after you change anything, includingnpm run guard.
Reporting problems
If you find a scenario that does more than this document says, or a way to use the suite to cause real harm, report it through the project's issue tracker so it can be fixed. Do not publish working misuse details before the maintainers have had a chance to respond.