livewells
Menu

PDF files

livewells reads a PDF as data. It shows pictures of the pages, lists what the file holds and flags the parts that can harm you. The file never opens on your computer.

Send a PDF

Send a .pdf file on the Upload a file tab, or through the API. livewells also reads a PDF inside another item of the same case, such as an email attachment or an archive member.

What you see

  • Page pictures. One picture for each of the first 20 pages. A QR code in a picture goes to QR reading.
  • Links. Each web link in the file, with its page. Each link is defanged. You open a link in the disposable browser with one click.
  • Embedded JavaScript. The script text, line by line. A script that starts when the file opens gets a high flag.
  • Actions. Each action that starts a program, opens a file, sends a form or opens a link, and when it starts.
  • Form fields. The name, type and value of each field.
  • Embedded files. The name, size and SHA-256 of each file inside the PDF. livewells checks each one as its own item.
  • Facts. Page count, PDF version, title, author, creator, producer, dates, saved versions and encryption.

Every link, address and file name in the report is defanged. An example is hxxps[://]example[.]com/a.

Locked PDFs

livewells tries the empty user password. Many protected PDFs open with it, and livewells reads them in full. For a PDF that needs another password, the case shows the flag "This PDF is locked. We could not read it." Remove the password and send the PDF again.

Limits

LimitValue
File size25 MiB
Page pictures20 pages for each file
Page text checked for links200 pages for each file
Text read for each page1 MiB
Links found in page text2,000 links, 1 MiB of link text in all
Script text1 MiB for each script, 4 MiB and 1,000 scripts in all
Actions read2,000, 200 listed
Form fields read20,000 fields, 2 MiB of field text in all, 200 listed
Embedded file names200 characters each
Picture size1600 pixels on the longest side, 2 MiB each
Files inside a PDF100, each at most 64 MiB
Links listed500
Length of one link2,048 characters
Indicators listed500
Parts of the PDF read100,000
Reading time30 seconds

A PDF inside other files gets page pictures when it sits at most two levels down. A deeper PDF gets the full text analysis and no pictures.

When a PDF reaches a limit, livewells reads what it can and raises the flag "We stopped reading part of this PDF because it is too big or too deep." Treat that PDF as hostile.

Flags

SeverityFlag
highThis PDF has script code that starts when you open it.
mediumThis PDF has script code inside it.
highThe script code in this PDF is hidden with tricks.
highThis PDF can start a program or open a file on your computer.
mediumThis PDF starts an action as soon as you open it.
mediumThis PDF can open another file or address when you click.
highThis PDF form can send what you type to a web address.
lowThis PDF has a form you can fill in.
mediumThis PDF has a form type that can hold script code.
mediumThis PDF has other files hidden inside it.
highA file inside this PDF looks like a program or script.
mediumThis PDF has movie, sound or 3D content that can run code.
mediumThis PDF hides the names of its parts.
infoParts of this PDF are packed so that a simple scan cannot see them.
lowThis PDF has links to web addresses.
mediumThis PDF is locked. We could not read it.
infoThis PDF is encrypted but opens without a password.
mediumThis PDF is damaged or built in an unusual way. We read only part of it.
mediumWe stopped reading part of this PDF because it is too big or too deep.
lowWe could not make a picture of some pages.
lowThis file has extra data before or after the PDF.
lowThis PDF was saved more than once. Older content can stay hidden in it.

A flag points at something to check. Your analysts set the verdict.