Proofpoint People — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Proofpoint People (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.
Proofpoint People-Centric Security provides user-level threat analytics that identify which individuals in your organization are most targeted by attacks and most susceptible to clicking on threats. This data enables MSPs to implement targeted security controls, prioritize security awareness training, and apply adaptive authentication policies for the highest-risk users.
The core concept is that people - not infrastructure - are the primary target of modern email attacks. By understanding who is targeted and who clicks, you can focus security resources where they have the most impact.
"risk score" and a click rate, but those measure tests the MSP sent deliberately. Attack Index and VAP count real attacks. For simulation performance use knowbe4-users.
identifies who needs it; the enrollment itself is knowbe4-training.
proofpoint-tap, and proofpoint-threat-intel for the campaigns named in topCampaigns.
VAPs are users who receive a disproportionately high volume of sophisticated attacks. VAP status is determined by:
VAPs are typically executives, finance personnel, IT administrators, and people with external-facing email addresses.
The Attack Index is a composite score (0-1000+) that quantifies the severity of threats targeting a user. It factors in:
| Component | Weight | Description |
|---|---|---|
| Volume | Medium | Number of threats received |
| Sophistication | High | How advanced the attacks are |
| Actor reputation | High | Whether known threat actors are involved |
| Threat type mix | Medium | Diversity of attack types (phish, malware, BEC) |
Higher Attack Index = more severe threats targeting the user.
| Metric | Description | Range |
|---|---|---|
clickRate | Percentage of threats the user clicked on | 0-100% |
clickCount | Total number of malicious clicks | Integer |
uniqueThreatsClicked | Distinct threats clicked | Integer |
lastClickTime | Most recent click on a threat | Datetime |
| Category | Attack Index | Click Rate | Action |
|---|---|---|---|
| Very High Risk | > 500 | > 10% | Isolate browsing, MFA everywhere, priority training |
| High Risk | 200-500 | 5-10% | Enhanced email filtering, additional MFA |
| Medium Risk | 50-200 | 2-5% | Standard controls, regular training |
| Low Risk | < 50 | < 2% | Baseline controls |
| Field | Type | Description |
|---|---|---|
identity | object | User identity details |
identity.emails | string[] | User email addresses |
identity.name | string | User display name |
identity.department | string | User department |
identity.title | string | User job title |
identity.vip | boolean | Whether the user is flagged as VIP |
attackIndex | int | Composite attack severity score |
threatStatistics | object | Breakdown of threats by type |
threatStatistics.totalThreats | int | Total threats received |
threatStatistics.malwareCount | int | Malware threats received |
threatStatistics.phishCount | int | Phishing threats received |
threatStatistics.impostorCount | int | BEC/impostor threats received |
families | string[] | Threat families targeting this user |
topCampaigns | object[] | Most significant campaigns targeting this user |
| Field | Type | Description |
|---|---|---|
identity | object | User identity details |
clickStatistics | object | Click activity breakdown |
clickStatistics.clickCount | int | Total malicious clicks |
clickStatistics.permitCount | int | Clicks that were permitted |
clickStatistics.blockCount | int | Clicks that were blocked |
clickStatistics.clickRate | float | Click-through rate on threats |
clickStatistics.uniqueThreats | int | Distinct threats clicked |
clickStatistics.lastClick | datetime | Most recent click time |
clickStatistics.classifications | object | Breakdown by malware, phish |
| Field | Type | Description |
|---|---|---|
email | string | User email address |
riskScore | int | Overall risk score (0-1000) |
attackIndex | int | Attack severity targeting this user |
clickRate | float | Historical click-through rate |
riskCategory | string | very_high, high, medium, low |
vulnerabilityFactors | string[] | Contributing risk factors |
recommendedActions | string[] | Suggested remediation steps |
trainingStatus | object | Security awareness training completion |
| Tool | Description | Key Parameters |
|---|---|---|
proofpoint_people_get_vap | Very Attacked People report — users ranked by attack index | window, page, size |
proofpoint_people_get_top_clickers | Users who clicked the most threat URLs | window, page, size |
proofpoint_people_get_user_risk | Risk score and attack details for one user | email (required), window |
Three tools, all read-only. The People domain changes nothing — there is no write tool on this server at all.
proofpoint_people_get_vap returns; there is no second tool for it, and no department filter anywhere. Departmental comparison means pulling the VAP list and grouping it yourself against your own roster.
VAP and VIP are different concepts and the similarity of the acronyms is the trap: VAP is computed by Proofpoint from attack volume, VIP is an administrator-assigned protection flag. This plugin can read the first and cannot see or touch the second. Set VIP flags in the Proofpoint console.
proofpoint_people_get_vap with window=30 and size=20proofpoint_people_get_user_riskproofpoint_people_get_top_clickers with window=90 and size=50so the roster comes from the customer's HR or directory data, not from Proofpoint
proofpoint_people_get_user_risk with their emailproofpoint_people_get_vap with a large size to get the rankedattack-index list — there is no department filter
proofpoint_people_get_user_risk with the user's email| Code | Message | Resolution |
|---|---|---|
| 400 | Invalid window | Use 14, 30, or 90 for the window parameter |
| 400 | Invalid size | Size must be between 1 and 1000 |
| 401 | Authentication failed | Verify service principal and secret |
| 403 | People API not enabled | Ensure your license includes People-Centric Security |
| 404 | User not found | The email address may not exist in Proofpoint |
| 429 | Rate limit exceeded | Implement backoff |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.