ThreatLocker Audit Log — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ThreatLocker Audit Log (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
What the API calls the "audit" endpoints, the ThreatLocker UI calls the Action Log — the same data either way. Every execution attempt, every block, every permit, every audit-only match generates an entry. This is your forensics surface: when something happened on an endpoint, this is where you find out what.
threatlocker_audit_searchPOST-based GetByParameters. Common filters via the body:
searchText — substring across file name, path, computer name, userfromDate / toDate in ISO 8601 UTC)pageNumber, pageSize, orderBy: "actionTime",isAscending: false (newest first is the usual default)
organizationId header for tenant scopingEach row typically includes actionId, actionTime, kindOfAction (Block, Permit, Audit), fileName, filePath, fileHash, signer, computerName, userName, policyName, and processChain (parent process info).
threatlocker_audit_getReturns a single action with full context — full process tree, command line, network endpoints contacted (when available), and any related actions clustered around the same event.
threatlocker_audit_file_historyAggregates all Action Log entries for a given file path or hash. Use this when you have a candidate IOC and want to know everywhere it appeared in the fleet, when, and what happened each time.
kindOfAction Categorization| Action | Meaning |
|---|---|
| Block | Policy denied execution — the binary did not run |
| Permit | Policy allowed execution — the binary ran |
| Audit | Audit-only — observed but not acted on (often Learning Mode) |
Block + Audit together is the high-signal pair for hunting:
rule but was not stopped — investigate.
actionable.
When given "something happened on host X around time T":
threatlocker_audit_search with searchText: "<host>",fromDate: T - 1h, toDate: T + 1h, orderBy: "actionTime", isAscending: true.
the first unusual binary, the first child process from a known LOLBin parent, the first network-active process.
threatlocker_audit_get for the full detailand add the parent process to your investigation list.
fileHash of the suspicious binary usingthreatlocker_audit_file_history to see where else in the fleet it appeared.
When given an IOC (path or hash):
threatlocker_audit_file_history with the IOC.computerName — which endpoints saw it?actionTime —the spread pattern often points to patient zero.
been impacted. For every Block, you have evidence the control stopped it.
A pattern worth surfacing: same user or same computer generating many Block events in a short window.
kindOfAction: "Block".userName and computerName.approval-requests skill).
kindOfAction: "Audit".threatlocker_computers_get — policyMode).
without enforcement — review the rule and decide if it should become a Block.
now - 1h to now. Tight, high-signal.alertTime ± 30m is usually enough; expandif the parent process is unclear.
Always send dates in ISO 8601 UTC. The Action Log itself stores UTC.
jump boxes can generate thousands of audit rows per day. Use tight date windows or signer filters to keep result sets manageable.
multiple log rows (file open, hash check, network connect). Always read the actionId to confirm uniqueness.
processChain is best-effort. Ifthe parent is empty or unknown, treat the row as a starting point for further investigation, not a final answer.
fileHash rather than filePath for IOC work —attackers rename binaries, hashes don't change.
actionId references in any incident write-up so areviewer can re-pull the exact source rows.
approval-requests — a recentapproval may explain an otherwise suspicious Permit.
produce Permit actions
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.