
Research
PyPI Package Disguised as Instagram Growth Tool Harvests User Credentials
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Parse SSA/ASS subtitle format.
For the ASS subtitle below (from the Wikipedia page)
[Script Info]
; This is a Sub Station Alpha v4 script.
; For Sub Station Alpha info and downloads,
; go to http://www.eswat.demon.co.uk/
Title: Neon Genesis Evangelion - Episode 26 (neutral Spanish)
Original Script: RoRo
Script Updated By: version 2.8.01
ScriptType: v4.00
Collisions: Normal
PlayResY: 600
PlayDepth: 0
Timer: 100,0000
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: DefaultVCD, Arial,28,11861244,11861244,11861244,-2147483640,-1,0,1,1,2,2,30,30,30,0,0
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.18,0:00:06.85,DefaultVCD, NTP,0000,0000,0000,,{\pos(400,570)}Like an angel with pity on nobody
assParser(text, { comments: true })
returns the following:
[
{
"section": "Script Info",
"body": [
{
"type": "comment",
"value": " This is a Sub Station Alpha v4 script."
},
{
"type": "comment",
"value": " For Sub Station Alpha info and downloads,"
},
{
"type": "comment",
"value": " go to http://www.eswat.demon.co.uk/"
},
{
"key": "Title",
"value": "Neon Genesis Evangelion - Episode 26 (neutral Spanish)"
},
{
"key": "Original Script",
"value": "RoRo"
},
{
"key": "Script Updated By",
"value": "version 2.8.01"
},
{
"key": "ScriptType",
"value": "v4.00"
},
{
"key": "Collisions",
"value": "Normal"
},
{
"key": "PlayResY",
"value": "600"
},
{
"key": "PlayDepth",
"value": "0"
},
{
"key": "Timer",
"value": "100,0000"
}
]
},
{
"section": "V4 Styles",
"body": [
{
"key": "Format",
"value": [
"Name",
"Fontname",
"Fontsize",
"PrimaryColour",
"SecondaryColour",
"TertiaryColour",
"BackColour",
"Bold",
"Italic",
"BorderStyle",
"Outline",
"Shadow",
"Alignment",
"MarginL",
"MarginR",
"MarginV",
"AlphaLevel",
"Encoding"
]
},
{
"key": "Style",
"value": {
"Name": "DefaultVCD",
"Fontname": "Arial",
"Fontsize": "28",
"PrimaryColour": "11861244",
"SecondaryColour": "11861244",
"TertiaryColour": "11861244",
"BackColour": "-2147483640",
"Bold": "-1",
"Italic": "0",
"BorderStyle": "1",
"Outline": "1",
"Shadow": "2",
"Alignment": "2",
"MarginL": "30",
"MarginR": "30",
"MarginV": "30",
"AlphaLevel": "0",
"Encoding": "0"
}
}
]
},
{
"section": "Events",
"body": [
{
"key": "Format",
"value": [
"Marked",
"Start",
"End",
"Style",
"Name",
"MarginL",
"MarginR",
"MarginV",
"Effect",
"Text"
]
},
{
"key": "Dialogue",
"value": {
"Marked": "Marked=0",
"Start": "0:00:01.18",
"End": "0:00:06.85",
"Style": "DefaultVCD",
"Name": "NTP",
"MarginL": "0000",
"MarginR": "0000",
"MarginV": "0000",
"Effect": "",
"Text": "{\\pos(400,570)}Like an angel with pity on nobody"
}
}
]
}
]
assParser(text, [options])
Returns the parse tree.
Comments are ignored unless options.comments
is set.
Option | Type | Required? | Default |
---|---|---|---|
comments | boolean | No | false |
Subtitle is a list of sections, each of them has section
and body
properties. The body
is a list of key-value bindings (descriptors), with key
and value
properties (type == 'comment'
and value
for comments).
value
can be one of the following:
"Format"
;"Format"
descriptor above in the section;npm install ass-parser
MIT
FAQs
Parse SSA/ASS subtitle format
The npm package ass-parser receives a total of 96 weekly downloads. As such, ass-parser popularity was classified as not popular.
We found that ass-parser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.