Versioned security assessment

Report ID: SA-62E2A730

7/5/2026, 8:07:52 PM

linkedin-easy-apply security assessment v4

Skill Security Certification Report

Audit History
Audit model: codex Latest published report
Skill name
linkedin-easy-apply
Version
v4
Maintainer
ralyodio
Coverage
1 Files scanned · 175 Lines analyzed
Policy version
Unavailable

Highest confirmed finding severity

High

3 confirmed security findings require attention.

Installation context

Check the current Skill page

This page summarizes report evidence only. The Skill page provides the canonical install advisory.

Open current Skill page

This report does not block or authorize the manifest or ZIP.

Most shell-backtick detections are false positives caused by Markdown fences and inline code. Confirmed risks include sandbox-disabled Chromium, persistent browser session storage, /tmp state logs, and automated personal data submission. No prompt injection or credential exfiltration instructions were found.

Report position

Latest published report

Latest refers to the report sequence, not to artifact currentness.

Audit attestation

Not attestable

The required immutable binding is incomplete.

Human verification

Not verified

No human verification is recorded for this report.

Coverage

1 Files scanned · 175 Lines analyzed

10 items shown for review

Limitations

This report does not claim runtime or sandbox execution and does not prove the absence of side effects.

Evidence chain

Follow the evidence from source binding to the install contract. Available evidence supports verification; it is not a safety guarantee.

  1. Source

    Commit and path bound

  2. Artifact

    Content and tree hashes bound

  3. Audit

    Complete

  4. Install contract

    Open manifest to verify

    Open manifest

Capabilities observed

Observed means this report recorded supporting evidence. Not recorded does not prove that a capability is absent.

Contains scripts

May execute code included with the Skill.

Not recorded by this audit

Network access

May connect to external services.

Observed in 1 evidence location

Filesystem access

May read or write local files.

Observed in 7 evidence locations

Env variables

May read values from the process environment.

Observed in 2 evidence locations

External commands

May invoke commands or programs outside the Skill.

Observed in 19 evidence locations

Capability review items (7)
Medium
Hidden file access
CHROME_PROFILE=$HOME/.cache/linkedin-chrome
The skill recommends a persistent hidden Chrome profile under the user home directory. That profile can retain LinkedIn session cookies and other browser state.
Medium
Hidden file access
userDataDir: process.env.CHROME_PROFILE || `${process.env.HOME}/.cache/linkedin-chrome`,
Puppeteer is configured to reuse a hidden browser profile path. Persistent profiles can expose authenticated session data if permissions or isolation are weak.
Medium
Temp directory access
STATE_DIR=/tmp/linkedin-easyapply-daily
The suggested state directory is under /tmp. Application state in a shared temporary path can be read or tampered with on multi-user systems.
Medium
Temp directory access
/tmp/linkedin-easyapply-daily/state.json
The state file path is under /tmp and can contain application status. Shared temporary storage creates privacy and integrity risk.
Medium
Temp directory access
/tmp/linkedin-easyapply-daily/results.jsonl
The results log path is under /tmp and can contain job URLs and submission outcomes. Shared temporary storage creates privacy and tampering risk.
Medium
Temp directory access
State: /tmp/linkedin-easyapply-daily/state.json
The reporting section exposes the state path under /tmp. That location is a weak default for user-specific application history.
Medium
Temp directory access
Log: /tmp/linkedin-easyapply-daily/results.jsonl
The reporting section exposes the log path under /tmp. Logs may include personal job search activity and should not use shared temporary storage.

Risk findings

Confirmed security concerns are separated from items that still need review.

Confirmed security concerns (3)

RISK-001 High
Environment file access
userDataDir: process.env.CHROME_PROFILE || `${process.env.HOME}/.cache/linkedin-chrome`,
The line configures a persistent Chrome user data directory that can hold authenticated LinkedIn session data. Reusing this profile is sensitive even without direct exfiltration.
RISK-002 High
UID/GID manipulation
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', '--start-maximized']
The Chromium launch arguments disable the browser sandbox and setuid sandbox. This weakens process isolation if LinkedIn or any loaded content is compromised.
RISK-003 Medium
Automated Personal Data Submission
The skill directs an agent to upload a resume and submit LinkedIn applications. This can expose personal data or submit unwanted applications if approval controls are weak.
The workflow explicitly searches LinkedIn Easy Apply, uploads a verified resume, and clicks submit when required fields are known. The context confirms automated third-party submission of personal job application data.

Remediation

Suggested fixes recorded by this audit. Applying them is the maintainer’s responsibility.

  1. FIX-001
    High
    Chromium sandbox is disabled.
    Remove --no-sandbox and --disable-setuid-sandbox when possible. Use a sandboxed browser or an isolated container for automation.
  2. FIX-002
    High
    Persistent Chrome profile can retain session cookies.
    Use a dedicated browser profile with restricted permissions. Do not reuse a primary personal browser profile.
  3. FIX-003
    Medium
    State and logs are stored under /tmp.
    Store state in a private user directory with owner-only permissions. Avoid logging personal contact details or resume contents.
  4. FIX-004
    Medium
    The workflow can submit applications automatically.
    Require operator review before final submission and document compliance with LinkedIn rules and rate limits.

Expert evidence

Immutable subject identity, scanner metadata, dismissed matches, and source-level evidence.

Artifact subject

Marketplace commit
62e2a730c5cd74eab4c7164309d810de660fcea3
Content hash
e9cbbaae8dc5992cae29115d799eadb46c29c69493e9e551b4c870ffc8577104
Tree hash
72de4cfcbe705f533a3426c7747eca67d271bd647f1860fe776491d129c2cb1d
Skill path
skills/ralyodio/linkedin-easy-apply
Audit payload hash
4b23f908852f0b6252a624c65603319c

Analysis metadata

Audit model: codex

Analysis state: Complete

Scope is limited to the recorded files, lines, methods, and evidence. No runtime or sandbox execution is claimed.

Verify and export

The manifest and lockfile bind install artifacts to cryptographic hashes. This integrity claim is separate from the security assessment.

Audit attestation: not_attestable