Model Comparison
Model Editorial Structural Class Conf SETL Theme
@cf/meta/llama-3.3-70b-instruct-fp8-fast lite ND ND 0.63
@cf/meta/llama-3.3-70b-instruct-fp8-fast lite 0.00 -0.19 Neutral 0.90 0.19 Cybersecurity
@cf/meta/llama-4-scout-17b-16e-instruct lite ND ND 0.80
@cf/meta/llama-4-scout-17b-16e-instruct lite +0.10 -0.19 Neutral 0.80 0.23 Cybersecurity Threats
claude-haiku-4-5-20251001 +0.32 +0.12 Mild positive 0.28 0.26 Cybersecurity & Digital Safety
Section @cf/meta/llama-3.3-70b-instruct-fp8-fast lite @cf/meta/llama-3.3-70b-instruct-fp8-fast lite @cf/meta/llama-4-scout-17b-16e-instruct lite @cf/meta/llama-4-scout-17b-16e-instruct lite claude-haiku-4-5-20251001
Preamble ND ND ND ND 0.27
Article 1 ND ND ND ND 0.19
Article 2 ND ND ND ND 0.24
Article 3 ND ND ND ND 0.55
Article 4 ND ND ND ND ND
Article 5 ND ND ND ND ND
Article 6 ND ND ND ND ND
Article 7 ND ND ND ND ND
Article 8 ND ND ND ND 0.47
Article 9 ND ND ND ND ND
Article 10 ND ND ND ND ND
Article 11 ND ND ND ND ND
Article 12 ND ND ND ND -0.07
Article 13 ND ND ND ND 0.39
Article 14 ND ND ND ND ND
Article 15 ND ND ND ND ND
Article 16 ND ND ND ND ND
Article 17 ND ND ND ND 0.23
Article 18 ND ND ND ND 0.34
Article 19 ND ND ND ND 0.44
Article 20 ND ND ND ND 0.21
Article 21 ND ND ND ND ND
Article 22 ND ND ND ND 0.24
Article 23 ND ND ND ND 0.29
Article 24 ND ND ND ND ND
Article 25 ND ND ND ND 0.38
Article 26 ND ND ND ND 0.37
Article 27 ND ND ND ND 0.20
Article 28 ND ND ND ND 0.17
Article 29 ND ND ND ND 0.22
Article 30 ND ND ND ND 0.09
+0.32 Glassworm Is Back: A New Wave of Invisible Unicode Attacks Hits Repositories (www.aikido.dev S:+0.12 )
301 points by robinhouston 7 days ago | 193 comments on HN | Mild positive Low agreement (3 models) Editorial · v3.7 · 2026-03-15 22:43:48 0
Summary Cybersecurity & Digital Safety Advocates
This Aikido Security blog article reports on malware research (Glassworm unicode attacks), advocating for developer awareness and protection of digital infrastructure. Editorially, content champions security rights and knowledge sharing (Articles 18-19, 26); structurally, the site deploys tracking and analytics infrastructure that undermines privacy rights (Article 12). The evaluation reflects strong positive signals around expression, education, and work rights, tempered by significant privacy and surveillance concerns.
Rights Tensions 2 pairs
Art 12 Art 26 Privacy rights (Article 12) are subordinated to educational benefit (Article 26) through unilateral tracking and data collection without explicit consent, privileging institutional knowledge dissemination over individual privacy autonomy.
Art 12 Art 19 Freedom of expression (Article 19) is enabled while privacy rights (Article 12) are undermined; the platform facilitates speech but uses surveillance infrastructure to collect behavioral data about readers without transparent consent.
Article Heatmap
Preamble: +0.27 — Preamble P Article 1: +0.19 — Freedom, Equality, Brotherhood 1 Article 2: +0.24 — Non-Discrimination 2 Article 3: +0.55 — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: +0.47 — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: -0.07 — Privacy 12 Article 13: +0.39 — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: +0.23 — Property 17 Article 18: +0.34 — Freedom of Thought 18 Article 19: +0.44 — Freedom of Expression 19 Article 20: +0.21 — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: +0.24 — Social Security 22 Article 23: +0.29 — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: +0.38 — Standard of Living 25 Article 26: +0.37 — Education 26 Article 27: +0.20 — Cultural Participation 27 Article 28: +0.17 — Social & International Order 28 Article 29: +0.22 — Duties to Community 29 Article 30: +0.09 — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
E
+0.32
S
+0.12
Weighted Mean +0.28 Unweighted Mean +0.28
Max +0.55 Article 3 Min -0.07 Article 12
Signal 19 No Data 12
Volatility 0.14 (Medium)
Negative 1 Channels E: 0.6 S: 0.4
SETL +0.26 Editorial-dominant
FW Ratio 52% 48 facts · 45 inferences
Agreement Low 3 models · spread ±0.176
Evidence 28% coverage
1H 10M 8L 12 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.23 (3 articles) Security: 0.55 (1 articles) Legal: 0.47 (1 articles) Privacy & Movement: 0.16 (2 articles) Personal: 0.29 (2 articles) Expression: 0.33 (2 articles) Economic & Social: 0.30 (3 articles) Cultural: 0.29 (2 articles) Order & Duties: 0.16 (3 articles)
HN Discussion 20 top-level · 23 replies
DropDead 2026-03-15 15:14 UTC link
Why didn't some make av rule to find stuff like this, they are just plain text files
gnabgib 2026-03-15 15:23 UTC link
minus7 2026-03-15 16:06 UTC link
The `eval` alone should be enough of a red flag
btown 2026-03-15 16:17 UTC link
IMO while the bar is high to say "it's the responsibility of the repository operator itself to guard against a certain class of attack" - I think this qualifies. The same way GitHub provides Secret Scanning [0], it should alert upon spans of zero-width characters that are not used in a linguistically standard way (don't need an LLM for this, just n-tuples).

Sure, third-party services like the OP can provide bots that can scan. But if you create an ecosystem in which PRs can be submitted by threat actors, part of your commitment to the community should be to provide visibility into attacks that cannot be seen by the naked eye, and make that protection the norm rather than the exception.

[0] https://docs.github.com/en/get-started/learning-about-github...

faangguyindia 2026-03-15 16:36 UTC link
Back in time I was on hacking forums where lot of script kiddies used to make malicious code.

I am wondering how that they've LLM, are people using them for making new kind of malicious codes more sophisticated than before?

ocornut 2026-03-15 16:54 UTC link
It baffles me that any maintainer would merge code like the one highlighted in the issue, without knowing what it does. That’s regardless of being or not being able to see the “invisible” characters. There’s a transforming function here and an eval() call.

The mere fact that a software maintainer would merge code without knowing what it does says more about the terrible state of software.

vitus 2026-03-15 17:00 UTC link
Looks like the repo owner force-pushed a bad commit to replace an existing one. But then, why not forge it to maintain the existing timestamp + author, e.g. via `git commit --amend -C df8c18`?

Innocuous PR (but do note the line about "pedronauck pushed a commit that referenced this pull request last week"): https://github.com/pedronauck/reworm/pull/28

Original commit: https://github.com/pedronauck/reworm/commit/df8c18

Amended commit: https://github.com/pedronauck/reworm/commit/d50cd8

Either way, pretty clear sign that the owner's creds (and possibly an entire machine) are compromised.

WalterBright 2026-03-15 17:11 UTC link
Unicode should be for visible characters. Invisible characters are an abomination. So are ways to hide text by using Unicode so-called "characters" to cause the cursor to go backwards.

Things that vanish on a printout should not be in Unicode.

Remove them from Unicode.

tolciho 2026-03-15 17:16 UTC link
Attacks employing invisible characters are not a new thing. Prior efforts here include terminal escape sequences, possibly hidden with CSS that if blindly copied and pasted would execute who knows what if the particular terminal allowed escape sequences to do too much (a common feature of featuritis) or the terminal had errors in its invisible character parsing code.

For data or code hiding the Acme::Bleach Perl module is an old example though by no means the oldest example of such. This is largely irrelevant given how relevant not learning from history is for most.

Invisible characters may also cause hard to debug issues, such as lpr(1) not working for a user, who turned out to have a control character hiding in their .cshrc. Such things as hex viewers and OCD levels of attention to detail are suggested.

codechicago277 2026-03-15 17:56 UTC link
I wonder if this could be used for prompt injection, if you copy and paste the seemingly empty string into an LLM does it understand? Maybe the affect Unicode characters aren’t tokenized.
zzo38computer 2026-03-15 19:05 UTC link
I use non-Unicode mode in the terminal emulator (and text editors, etc), I use a non-Unicode locale, and will always use ASCII for most kind of source code files (mainly C) (in some cases, other character sets will be used such as PC character set, but usually it will be ASCII). Doing this will mitigate many of this when maintaining your own software. I am apparently not the only one; I have seen others suggest similar things. (If you need non-ASCII text (e.g. for documentation) you might store them in separate files instead. If you only need a small number of them in a few string literals, then you might use the \x escapes; add comments if necessary to explain it.)

The article is about in JavaScript, although it can apply to other programming languages as well. However, even in JavaScript, you can use \u escapes in place of the non-ASCII characters. (One of my ideas in a programming language design intended to be better instead of C, is that it forces visible ASCII (and a few control characters, with some restrictions on their use), unless you specify by a directive or switch that you want to allow non-ASCII bytes.)

chairmansteve 2026-03-15 19:08 UTC link
eval() used to be evil....

Are people using eval() in production code?

NoMoreNicksLeft 2026-03-15 19:19 UTC link
Why can't code editors have a default-on feature where they show any invisible character (other than newlines)? I seem to remember Sublime doing this at least in some cases... the characters were rendered as a lozenge shape with the hex value of the character.

Is there ever a circumstance where the invisible characters are both legitimate and you as a software developer wouldn't want to see them in the source code?

mhitza 2026-03-15 19:24 UTC link
Their button animations almost "crash" Firefox mobile. As soon as I reach them the entire page scrolls at single digit FPS.
bawolff 2026-03-15 19:45 UTC link
I feel like the threat of this type of thing is really overstated.

Sure the payload is invisible (although tbh im surprised it is. PUA characters usually show up as boxes with hexcodes for me), but the part where you put an "empty" string through eval isn't.

If you are not reviewing your code enough to notice something as non sensical as eval() an empty string, would you really notice the non obfuscated payload either?

like_any_other 2026-03-15 20:07 UTC link
Invisible characters, lookalike characters, reversing text order attacks [1].. the only way to use unicode safely seems to be by whitelisting a small subset of it.

And please, everyone arguing the code snippet should never have passed review - do you honestly believe this is the only kind of attack that can exploit invisible characters?

[1] https://attack.mitre.org/techniques/T1036/002/

hananova 2026-03-15 20:18 UTC link
My hot take is that all programming languages should go back to only accepting source code saved in 7-bit ASCII. With perhaps an exception for comments.
rvnx 2026-03-15 22:07 UTC link
This shows the failure of human reviews alone, an LLM-based reviewer would have caught it. Both approaches are complementary
anesxvito 2026-03-15 22:15 UTC link
The scary part is how invisible this is in code review. Unicode direction overrides and zero-width characters don't show up in most editors by default. Anyone know a solid pre-commit hook config that catches this reliably?
mmsc 2026-03-15 23:52 UTC link
GitHub advertises itself as warning about those Unicode characters: https://github.blog/changelog/2025-05-01-github-now-provides...

Of course, it doesn't work though. I reported this to their bug bounty, they paid me a bounty, and told me "we won't be fixing it": https://joshua.hu/2025-bug-bounty-stories-fail#githubs-utf-f...

The exact quote is "Thanks for the submission! We have reviewed your report and validated your findings. After internally assessing your report based on factors including the complexity of successfully exploiting the vulnerability, the potential data and information exposure, as well as the systems and users that would be impacted, we have determined that they do not present a significant security risk to be eligible under our rewards structure." The funny thing is, they actually gave me $500 and a lifetime GitHub Pro for the submission.

abound 2026-03-15 15:27 UTC link
Yeah it would have been nice to end with "and here's a five-line shell script to check if your project is likely affected". But to their credit, they do have an open-source tool [1], I'm just not willing to install a big blob of JavaScript to look for vulns in my other big blobs of JavaScript

[1] https://github.com/AikidoSec/safe-chain

nine_k 2026-03-15 16:05 UTC link
The rule must be very simple: any occurrence of `eval()` should be a BIG RED FLAG. It should be handled like a live bomb, which it is.

Then, any appearance of unprintable characters should also be flagged. There are rather few legitimate uses of some zero-width characters, like ZWJ in emoji composition. Ideally all such characters should be inserted as \xNNNN escape sequences, and not literal characters.

Simple lint rules would suffice for that, with zero AI involvement.

kordlessagain 2026-03-15 16:18 UTC link
No it’s not.
andrewflnr 2026-03-15 16:44 UTC link
Regardless of the thorny question of whether it's Github's responsibility, it sure would be a good thing for them to do ASAP.
Yokohiii 2026-03-15 16:56 UTC link
In this case LLMs were obviously used to dress the code up as more legitimate, adding more human or project relevant noise. It's social engineering, but you leave the tedious bits to an LLM. The sophisticated part is the obscurity in the whole process, not the code.
WalterBright 2026-03-15 17:21 UTC link
Another dum dum Unicode idea is having multiple code points with identical glyphs.

Rule of thumb: two Unicode sequences that look identical when printed should consist of the same code points.

jeltz 2026-03-15 17:27 UTC link
Yeah, I would have loved to see an example where it was not obvious that there is an exploit. Where it would be possible for a reviewer to actually miss it.
chrismorgan 2026-03-15 17:30 UTC link
The value of the technique, I suppose, is that it hides a large payload a bit better. The part you can see stinks (a bunch of magic numbers and eval), but I suppose it’s still easier to overlook than a 9000-character line of hexadecimal (if still encoded or even decoded but still encrypted) or stuff mentioning Solana and Russian timezones (I just decoded and decrypted the payload out of curiosity).

But really, it still has to be injected after the fact. Even the most superficial code review should catch it.

pvillano 2026-03-15 17:34 UTC link
Unicode is "designed to support the use of text in all of the world's writing systems that can be digitized"

Unicode needs tab, space, form feed, and carriage return.

Unicode needs U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK to switch between left-to-right and right-to-left languages.

Unicode needs U+115F HANGUL CHOSEONG FILLER and U+1160 HANGUL JUNGSEONG FILLER to typeset Korean.

Unicode needs U+200C ZERO WIDTH NON-JOINER to encode that two characters should not be connected by a ligature.

Unicode needs U+200B ZERO WIDTH SPACE to indicate a word break opportunity without actually inserting a visible space.

Unicode needs MONGOLIAN FREE VARIATION SELECTORs to encode the traditional Mongolian alphabet.

luke-stanley 2026-03-15 17:54 UTC link
So we need a new standard problem due to the complexity of the last standard? Isn't unicode supposed to be a superset of ASCII, which already has control characters like new space, CR, and new lines? xD
godelski 2026-03-15 19:08 UTC link
I'm not a JS person, but taking the line at face value shouldn't it to nothing? Which, if I understand correctly, should never be merged. Why would you merge no-ops?
zzo38computer 2026-03-15 19:13 UTC link
I think a "force visible ASCII for files whose names match a specific pattern" mode would be a simple thing to help. (You might be able to use the "encoding" command in the .gitattributes file for this, although I don't know if this would cause errors or warnings to be reported, and it might depend on the implementation.)
tetha 2026-03-15 19:43 UTC link
That ship has sailed, but I consider Unicode a good thing, yet I consider it problematic to support Unicode in every domain.

I should be able to use Ü as a cursed smiley in text, and many more writing systems supported by Unicode support even more funny things. That's a good thing.

On the other hand, if technical and display file names (to GUI users) were separate, my need for crazy characters in file names, code bases and such are very limited. Lower ASCII for actual file names consumed by technical people is sufficient to me.

charcircuit 2026-03-15 20:03 UTC link
Isn't that what this article is about? Advertising an av rule in their product that catches this.
pdonis 2026-03-15 20:41 UTC link
Wish I could upvote this more.
mmlb 2026-03-15 21:04 UTC link
In this instance the PR that was merged was from 6 years ago and was clear https://github.com/pedronauck/reworm/pull/28. Looks to me like a force push overwrote the commit that now exists in history since it was done 6y later.
TacticalCoder 2026-03-15 21:27 UTC link
> ... and will always use ASCII for most kind of source code files

Same. And I enforce it. I've got scripts and hooks that enforces source files to only ever be a subset of ASCII (not even all ASCII codes have their place in source code).

Unicode chars strings are perfectly fine in resource files. You can build perfectly i18n/l10n apps and webapps without ever using a single Unicode character in a source file. And if you really do need one, there's indeed ASCII escaping available in many languages.

Some shall complan that their name as "Author: ..." in comments cannot be written properly in ASCII. If I wanted to be facetious I'd say that soon we'll see:

    # Author: Claude Opus 27.2
and so the point shall be moot anyway.
dspillett 2026-03-15 21:28 UTC link
> It baffles me that any maintainer would merge code like the one highlighted in the issue, without knowing what it does.

I don't know if it is relevant in any specific case that is being discussed here, but if the exploit route is via gaining access to the accounts of previously trusted submitters (or otherwise being able to impersonate them) it could be a case of teams with a pile of PRs to review (many of which are the sloppy unverified LLM output that is causing a problem for some popular projects) lets through an update from a trusted source that has been compromised.

It could correctly be argued that this is a problem caused by laziness and corner cutting, but it is still understandable because projects that are essentially run by a volunteer workforce have limited time resources available.

userbinator 2026-03-15 22:31 UTC link
CP437 forever!

The biggest use of Unicode in source repos now might be LLM slop, so I certainly don't miss its absence at all.

loumf 2026-03-15 23:07 UTC link
The threat is that you depend on this library or use the VS Code Extension.
ted_dunning 2026-03-16 00:20 UTC link
No need to remove them. Just make them visible for applications that don't need to render every language. Make that behavior optional as well in case you really want to name characters with Hangul or Tibetan.

Some middle ground so that you can use greek letters in Julia might be nice as well.

But I don't see any purpose in using the Personal Use Areas (PUA) in programming.

ted_dunning 2026-03-16 00:31 UTC link
Check out emacs for options like this.

And, yes, there is a circumstance if you want to include Arabic or Hebrew in comments or strings. You need the zero width left-right markers to make that work.

krior 2026-03-16 00:55 UTC link
Yeah, fuck those non-english-speaking peasants /s.
Editorial Channel
What the content says
+0.50
Article 19 Freedom of Expression
Medium Advocacy
Editorial
+0.50
SETL
+0.27

Content exemplifies freedom of expression and opinion through technical analysis and security research. Article publicly communicates findings about malware threats.

+0.45
Article 13 Freedom of Movement
Medium Advocacy
Editorial
+0.45
SETL
+0.26

Content supports freedom of movement and residence by addressing threats (malware) that could restrict developer access to repositories and ecosystems.

+0.45
Article 26 Education
Medium Advocacy
Editorial
+0.45
SETL
+0.30

Content promotes education by disseminating technical knowledge about security threats. Article provides learning opportunity for developers.

+0.40
Article 3 Life, Liberty, Security
Medium Advocacy
Editorial
+0.40
SETL
+0.32

Content affirms right to life and security by warning of malware threats and providing defensive knowledge.

+0.40
Article 18 Freedom of Thought
Medium Advocacy
Editorial
+0.40
SETL
+0.24

Content promotes freedom of thought and belief by sharing security knowledge openly, enabling developers to form informed views about threats.

+0.40
Article 25 Standard of Living
Medium Advocacy
Editorial
+0.40
SETL
+0.35

Content supports right to adequate standard of living and health by addressing security threats that could undermine economic stability and digital wellbeing.

+0.35
Preamble Preamble
Medium Framing
Editorial
+0.35
SETL
+0.26

Article frames security research as defense against malicious threats. Implicitly affirms human dignity through protection of digital infrastructure and developer community.

+0.35
Article 17 Property
Medium Advocacy
Editorial
+0.35
SETL
+0.32

Content addresses threats to intellectual property (malware targeting code repositories) and defends developer rights to own and control their digital work.

+0.35
Article 23 Work & Equal Pay
Medium Advocacy
Editorial
+0.35
SETL
+0.23

Content supports right to work by protecting developer infrastructure and enabling secure participation in software development economy.

+0.35
Article 27 Cultural Participation
Medium Advocacy
Editorial
+0.35
SETL
+0.30

Content addresses cultural and scientific participation by contributing to shared technical knowledge and protecting digital cultural infrastructure.

+0.30
Article 8 Right to Remedy
Low Framing Advocacy
Editorial
+0.30
SETL
+0.24

Content defends digital infrastructure rights by identifying threats; implicitly supports right to remedy and protection against violations.

+0.30
Article 22 Social Security
Low Advocacy
Editorial
+0.30
SETL
+0.21

Content addresses social security implicitly by promoting secure digital infrastructure essential to economic participation and work.

+0.30
Article 29 Duties to Community
Low Framing
Editorial
+0.30
SETL
+0.24

Content emphasizes developer community responsibilities toward security and protection of shared infrastructure.

+0.25
Article 1 Freedom, Equality, Brotherhood
Low Advocacy
Editorial
+0.25
SETL
+0.19

Content advocates for awareness of malware threats, implicitly supporting equal protection and dignity for all developers regardless of technical expertise.

+0.25
Article 20 Assembly & Association
Low Advocacy
Editorial
+0.25
SETL
+0.16

Content implicitly supports peaceful assembly by addressing common developer concerns and building community knowledge around security threats.

+0.25
Article 28 Social & International Order
Low Advocacy
Editorial
+0.25
SETL
+0.22

Content implicitly supports social and international order by promoting security practices that benefit all developers.

+0.20
Article 2 Non-Discrimination
Low Framing
Editorial
+0.20
SETL
+0.17

Content addresses threats targeting developers, potentially regardless of nationality or status. Does not explicitly discriminate.

+0.15
Article 12 Privacy
High Framing
Editorial
+0.15
SETL
+0.47

Content does not explicitly discuss privacy, but security research addresses threats to digital privacy (malware attacks).

+0.15
Article 30 No Destruction of Rights
Low Framing
Editorial
+0.15
SETL
+0.15

Content does not explicitly restrict or prevent rightful exercise of UDHR rights, but does not affirm protection against restrictions.

ND
Article 4 No Slavery

No observable content relating to slavery or servitude.

ND
Article 5 No Torture

No observable content relating to torture or cruel treatment.

ND
Article 6 Legal Personhood

No observable content relating to legal personhood.

ND
Article 7 Equality Before Law

No observable content relating to equal protection before law.

ND
Article 9 No Arbitrary Detention

No observable content relating to arbitrary arrest or detention.

ND
Article 10 Fair Hearing

No observable content relating to fair and public hearing.

ND
Article 11 Presumption of Innocence

No observable content relating to presumption of innocence or criminal procedure.

ND
Article 14 Asylum

No observable content relating to asylum or refuge.

ND
Article 15 Nationality

No observable content relating to nationality.

ND
Article 16 Marriage & Family

No observable content relating to marriage or family.

ND
Article 21 Political Participation

No observable content relating to political participation or voting.

ND
Article 24 Rest & Leisure

No observable content relating to rest and leisure.

Structural Channel
What the site does
Element Modifier Affects Note
Legal & Terms
Privacy -0.15
Article 12
Page loads third-party tracking scripts (Dalton, Google Tag Manager) and sets UTM parameter cookies without explicit first-party consent mechanism visible in provided content. Privacy policy not inspected.
Terms of Service
Terms of service not accessible from provided content.
Identity & Mission
Mission +0.25
Article 3 Article 8 Article 12
Aikido Security positions itself as a security platform protecting digital assets. Mission implicitly supports safety, integrity, and privacy rights.
Editorial Code
No editorial code or ethics statement accessible from provided content.
Ownership
Corporate entity (Aikido Security) identified in schema, but ownership structure not disclosed in provided content.
Access & Distribution
Access Model -0.05
Article 27
Content appears freely accessible, but underlying platform likely requires subscription/payment for full feature access. Not determinable from blog article alone.
Ad/Tracking -0.10
Article 12
Multiple tracking pixels and UTM cookie collection detected; implies behavioral tracking for marketing purposes.
Accessibility +0.10
Article 2 Article 25
CSS includes antialiasing and responsive design considerations, but no explicit accessibility features (ARIA, alt text for images) visible in provided content.
+0.35
Article 19 Freedom of Expression
Medium Advocacy
Structural
+0.35
Context Modifier
0.00
SETL
+0.27

Platform supports expression through blog publication; no visible censorship or editorial gatekeeping.

+0.30
Article 13 Freedom of Movement
Medium Advocacy
Structural
+0.30
Context Modifier
0.00
SETL
+0.26

Content appears globally accessible without geolocation blocking; blog platform operates across borders.

+0.25
Article 18 Freedom of Thought
Medium Advocacy
Structural
+0.25
Context Modifier
0.00
SETL
+0.24

Blog platform operates openly without censorship; content distribution appears unrestricted.

+0.25
Article 26 Education
Medium Advocacy
Structural
+0.25
Context Modifier
0.00
SETL
+0.30

Blog platform structure supports education through structured article format, metadata, and open access.

+0.20
Article 23 Work & Equal Pay
Medium Advocacy
Structural
+0.20
Context Modifier
0.00
SETL
+0.23

Platform enables professional knowledge workers (developers) to access security information essential to their trade.

+0.15
Preamble Preamble
Medium Framing
Structural
+0.15
Context Modifier
0.00
SETL
+0.26

Site embeds tracking and analytics; structural approach prioritizes business metrics over privacy-by-default.

+0.15
Article 3 Life, Liberty, Security
Medium Advocacy
Structural
+0.15
Context Modifier
+0.25
SETL
+0.32

Platform collects behavioral data without explicit consent, reducing autonomy.

+0.15
Article 20 Assembly & Association
Low Advocacy
Structural
+0.15
Context Modifier
0.00
SETL
+0.16

Blog platform enables community participation and discussion (implied through shared knowledge format).

+0.15
Article 22 Social Security
Low Advocacy
Structural
+0.15
Context Modifier
0.00
SETL
+0.21

Security knowledge platform supports developers' social participation in professional ecosystem.

+0.10
Article 1 Freedom, Equality, Brotherhood
Low Advocacy
Structural
+0.10
Context Modifier
0.00
SETL
+0.19

Tracking and analytics collection treats readers as marketing data subjects rather than equal participants.

+0.10
Article 8 Right to Remedy
Low Framing Advocacy
Structural
+0.10
Context Modifier
+0.25
SETL
+0.24

Tracking without explicit consent violates user right to remedy by obscuring data use.

+0.10
Article 25 Standard of Living
Medium Advocacy
Structural
+0.10
Context Modifier
+0.10
SETL
+0.35

Accessibility features present (responsive design, monospace font styling) but limited. Tracking infrastructure may burden less-privileged users with slower connections.

+0.10
Article 27 Cultural Participation
Medium Advocacy
Structural
+0.10
Context Modifier
-0.05
SETL
+0.30

Platform offers limited participation features; primarily one-directional content delivery.

+0.10
Article 29 Duties to Community
Low Framing
Structural
+0.10
Context Modifier
0.00
SETL
+0.24

Platform structure does not enforce duties or community participation.

+0.05
Article 2 Non-Discrimination
Low Framing
Structural
+0.05
Context Modifier
+0.10
SETL
+0.17

No visible language localization or regional access barriers, but tracking treats all users equivalently as data sources.

+0.05
Article 17 Property
Medium Advocacy
Structural
+0.05
Context Modifier
0.00
SETL
+0.32

Structural tracking collects data without compensation or consent, undermining property rights in personal data.

+0.05
Article 28 Social & International Order
Low Advocacy
Structural
+0.05
Context Modifier
0.00
SETL
+0.22

Global platform scope supports international order; tracking infrastructure operates across borders.

0.00
Article 30 No Destruction of Rights
Low Framing
Structural
0.00
Context Modifier
0.00
SETL
+0.15

Tracking infrastructure and unilateral data collection could enable surveillance that restricts other rights.

-0.40
Article 12 Privacy
High Framing
Structural
-0.40
Context Modifier
0.00
SETL
+0.47

Site deploys extensive tracking infrastructure: Google Tag Manager, Dalton analytics, UTM parameter collection. No visible privacy notice or explicit consent mechanism.

ND
Article 4 No Slavery

No observable structural signals relating to slavery or servitude.

ND
Article 5 No Torture

No observable structural signals relating to torture or cruel treatment.

ND
Article 6 Legal Personhood

No observable structural signals relating to legal personhood.

ND
Article 7 Equality Before Law

No observable structural signals relating to equal protection before law.

ND
Article 9 No Arbitrary Detention

No observable structural signals relating to arbitrary arrest or detention.

ND
Article 10 Fair Hearing

No observable content relating to fair and public hearing.

ND
Article 11 Presumption of Innocence

No observable structural signals relating to presumption of innocence or criminal procedure.

ND
Article 14 Asylum

No observable structural signals relating to asylum or refuge.

ND
Article 15 Nationality

No observable structural signals relating to nationality.

ND
Article 16 Marriage & Family

No observable structural signals relating to marriage or family.

ND
Article 21 Political Participation

No observable structural signals relating to political participation or voting.

ND
Article 24 Rest & Leisure

No observable structural signals relating to rest and leisure.

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.59 medium claims
Sources
0.7
Evidence
0.6
Uncertainty
0.5
Purpose
0.6
Propaganda Flags
2 manipulative rhetoric techniques found
2 techniques detected
loaded language
Title uses 'Invisible', 'Returns', 'malware' with urgent valence to emphasize threat severity.
appeal to fear
Headline emphasizes scale ('150+') and invisibility ('Invisible Unicode') to create sense of pervasive threat.
Emotional Tone
Emotional character: positive/negative, intensity, authority
urgent
Valence
-0.6
Arousal
0.7
Dominance
0.5
Transparency
Does the content identify its author and disclose interests?
0.50
✓ Author
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.41 problem only
Reader Agency
0.3
Stakeholder Voice
Whose perspectives are represented in this content?
0.45 2 perspectives
Speaks: institutionindividuals
About: corporationgovernment
Temporal Framing
Is this content looking backward, at the present, or forward?
present immediate
Geographic Scope
What geographic area does this content cover?
global
Complexity
How accessible is this content to a general audience?
technical high jargon domain specific
Longitudinal 1020 HN snapshots · 21 evals
+1 0 −1 HN
Audit Trail 41 entries
2026-03-16 00:06 eval_success PSQ evaluated: g-PSQ=0.204 (3 dims) - -
2026-03-16 00:06 eval Evaluated by llama-3.3-70b-wai-psq: +0.20 (Mild positive)
2026-03-16 00:03 eval_success Lite evaluated: Neutral (-0.08) - -
2026-03-16 00:03 model_divergence Cross-model spread 0.29 exceeds threshold (2 models) - -
2026-03-16 00:03 eval Evaluated by llama-3.3-70b-wai: -0.08 (Neutral)
reasoning
Technical blog post, no rights discussion
2026-03-16 00:03 rater_validation_warn Lite validation warnings for model llama-3.3-70b-wai: 1W 0R - -
2026-03-15 23:40 eval_success PSQ evaluated: g-PSQ=0.280 (3 dims) - -
2026-03-15 23:40 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive) 0.00
2026-03-15 23:05 eval_success Lite evaluated: Neutral (-0.02) - -
2026-03-15 23:05 model_divergence Cross-model spread 0.29 exceeds threshold (2 models) - -
2026-03-15 23:05 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral) +0.00
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion
2026-03-15 22:43 eval_success Evaluated: Mild positive (0.28) - -
2026-03-15 22:43 eval Evaluated by claude-haiku-4-5-20251001: +0.28 (Mild positive) 16,130 tokens
2026-03-15 21:26 eval_success PSQ evaluated: g-PSQ=0.280 (3 dims) - -
2026-03-15 21:26 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive) 0.00
2026-03-15 21:18 eval_success Lite evaluated: Neutral (-0.02) - -
2026-03-15 21:18 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral) 0.00
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion
2026-03-15 20:47 eval_success PSQ evaluated: g-PSQ=0.280 (3 dims) - -
2026-03-15 20:47 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive) 0.00
2026-03-15 20:38 eval_success Lite evaluated: Neutral (-0.02) - -
2026-03-15 20:38 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral) 0.00
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion
2026-03-15 20:10 eval_success PSQ evaluated: g-PSQ=0.280 (3 dims) - -
2026-03-15 20:10 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive) 0.00
2026-03-15 20:04 eval_success Lite evaluated: Neutral (-0.02) - -
2026-03-15 20:04 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral) 0.00
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion
2026-03-15 19:33 eval_success PSQ evaluated: g-PSQ=0.280 (3 dims) - -
2026-03-15 19:33 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive) 0.00
2026-03-15 19:29 eval_success Lite evaluated: Neutral (-0.02) - -
2026-03-15 19:29 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral) 0.00
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion
2026-03-15 18:56 eval_success PSQ evaluated: g-PSQ=0.280 (3 dims) - -
2026-03-15 18:56 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive) 0.00
2026-03-15 18:53 eval_success Lite evaluated: Neutral (-0.02) - -
2026-03-15 18:53 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral) 0.00
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion
2026-03-15 18:01 eval_success PSQ evaluated: g-PSQ=0.280 (3 dims) - -
2026-03-15 18:01 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive) 0.00
2026-03-15 18:00 eval_success Lite evaluated: Neutral (-0.02) - -
2026-03-15 18:00 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral) 0.00
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion
2026-03-15 16:54 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive) 0.00
2026-03-15 16:52 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral) 0.00
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion
2026-03-15 15:44 eval Evaluated by llama-4-scout-wai-psq: +0.28 (Mild positive)
2026-03-15 15:43 eval Evaluated by llama-4-scout-wai: -0.02 (Neutral)
reasoning
Technical blog post about cybersecurity threats, no explicit human rights discussion